java中打印引用数据类型为什么会自动调用toString方法——System.out.println(引用数据类型变量)
Object obj = new Object();System.out.println(obj);我们可以分析一下上面两行代码来得到答案:我们可以点击看到println方法源代码为:public void println(Object x) {String s = String.valueOf(x);synchronized (this) {print(s);newLine();..
·
Object obj = new Object();
System.out.println(obj);
我们可以分析一下上面两行代码来得到答案:
我们可以点击看到println方法源代码为:
public void println(Object x) {
String s = String.valueOf(x);
synchronized (this) {
print(s);
newLine();
}
}
这里它调用了String类中的静态方法valueOf,它的作用是将非字符串类型转换成字符串类型,我们可以查看它的源码:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
我们可以看到它调用了toString方法,所以我们可以得出结论,无论是基本数据类型还是引用数据类型,打印到控制台上的都是字符串。
更多推荐
已为社区贡献1条内容
所有评论(0)