看看system.out.println()的源码
public void println(Object x) {
String s = String.valueOf(x);
synchronized (this) {
print(s);
newLine();
}
}
在看看String.vauleOf();
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
在看看OBJECT 类的toString方法
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
} 你还不豁然开朗? 当一个OBJECT==null的时候,并没有被初始化,没初始化怎么能调用toString方法呢
public void println(Object x) {
String s = String.valueOf(x);
synchronized (this) {
print(s);
newLine();
}
}
在看看String.vauleOf();
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
在看看OBJECT 类的toString方法
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
} 你还不豁然开朗? 当一个OBJECT==null的时候,并没有被初始化,没初始化怎么能调用toString方法呢