目录
1、Object()类的 toString()
2、重写toString()方法意义
3、总结
1、Object()类的 toString()
Java默认的toString方法来自Object类
在Java中每个类都直接或者间接继承Object
类,toString()
方法同样是来自于Object
类
在没有重写toString
的前提下,每次执行System.out.println(对象引用)
,这个方法就会默认调用一个继承来自Object类型对象的toString方法。
public class Object {
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
}
一个对象,则直接打印该对象的hash码(类似于@15dc2556),它的值大概就是等于getClass().getName+'@'+Integer.toHexString(hashCode())
,
2、重写toString()方法意义
重写toString()
可以理解为是对对象打印输出时候的一种格式化。这样符合业务逻辑,显示结果人性化。
基本数据类型都重写toString() 方法
public final class Integer extends Number implements Comparable<Integer> {
public String toString() {
return toString(value);
}
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);
}
}
3、总结
1、没有重写toString,每执行System.out.print(Object o)会默认调用Object的toString()方法,情况如下
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200319162230990.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JhaW5kcm9wY2Rz,size_16,color_FFFFFF,t_70)
2、重写toString()
,每执行System.out.println()
会调用重写的toString()
方法,情况则会根据重写的方法打印输出成自己想得到的格式
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)