java的数据类型分为哪些
java的数据类型就两种,一种为基本数据类型(4类8种),一种为引用类型(对象).
就是说除了这8种基本类型外,其他的类型都是引用类型(对象).
1、基本数据类型和Object之间是没有关系的
2、基本数据类型的包装类 例如int 的包装类Integer的父类则是Object
3、Object是所有引用数据类型的父类
基本数据类型没有toSting()方法
1、基本数据类型和Object之间是没有关系的
2、基本数据类型的包装类 例如int 的包装类Integer的父类则是Object
所以,基本数据类型没有toString()方法.
基本数据类型的包装类的toSting()方法
1、基本数据类型和Object之间是没有关系的
2、基本数据类型的包装类 例如int 的包装类Integer的父类则是Object
所以,基本数据类型的包装类是有toString()方法.
以Integer为例,java已经为我们写好了Integer的toString()方法,代码如下:
public static String toString(int i) { if (i == Integer.MIN_VALUE) return "-2147483648"; int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i); char[] buf = new char[size]; getChars(i, size, buf); return new String(buf, true); }
例子如下:
引用数据类型(自定义类)的toSting()方法
java没有给我们重写自定义类的toSting()方法,默认toSting()输出的就是这个类的对象的内存地址.
如下:
所以我们要重写toSring()方法,使它输出自定义类的内容.重写toSring()方法代码如下:
@Override public String toString() { return "Usertime{" + "id=" + id + ", name='" + name + '\'' + ", age='" + age + '\'' + ", page=" + page + ", size=" + size + '}'; }
例子如下:
引用数据类型(array数组)的toSting()方法
java没有给我们重写数组的toSting()方法,默认toSting()输出的就是array数组的对象的内存地址.
如下:
但是array数组不用重写toSting()方法,我们只需要遍历数组就行了.代码如下.
引用数据类型(List)的toSting()方法
java已经给我们重写了List的toSting()方法,我们就不用管了.toSting()的代码如下:
public String toString() { Iterator<E> it = iterator(); if (! it.hasNext()) return "[]"; StringBuilder sb = new StringBuilder(); sb.append('['); for (;;) { E e = it.next(); sb.append(e == this ? "(this Collection)" : e); if (! it.hasNext()) return sb.append(']').toString(); sb.append(',').append(' '); } }
例子如下:
引用数据类型(Map)的toSting()方法
java已经给我们重写了Map的toSting()方法,我们就不用管了.toSting()的代码如下:
public String toString() { Iterator<Entry<K,V>> i = entrySet().iterator(); if (! i.hasNext()) return "{}"; StringBuilder sb = new StringBuilder(); sb.append('{'); for (;;) { Entry<K,V> e = i.next(); K key = e.getKey(); V value = e.getValue(); sb.append(key == this ? "(this Map)" : key); sb.append('='); sb.append(value == this ? "(this Map)" : value); if (! i.hasNext()) return sb.append('}').toString(); sb.append(',').append(' '); } }
例子如下:
引用数据类型(string)的toSting()方法
java已经给我们重写了string的toSting()方法,我们就不用管了.toSting()的代码如下:
public String toString() { return this; }
例子如下:
总结:
1.基本数据类型和Object之间是没有关系的,所以没有toString()方法.
2.Java已经给我们重写好的toSting()方法.有如下数据类型
基本数据类型的包装类;List;Map;string;
3.Java没有给重写toSting()方法,需要我们自己重写toSting()方法.有如下数据类型
自己创建的自定义类的toSting()方法,默认toSting()输出的就是这个类的对象的内存地址,需要重写toString方法.
3.Java虽然没有重写toSting()方法,但是也不需要toSting()方法的数据类型
array数组的toSting()方法,默认toSting()输出的就是array数组的对象的内存地址,想得到array的数组的内容,只需要遍历就行,不用重写toSring(),也重写不了.