javaSE问题。。你的基础有多好!!简单问题。。
static String s;
public static void main(String[] args){
System.out.println(s);
}
简单问题 这样会打印出null.很简单
但是不知道我理解的正确不正确,每个打印语句其实调用的是toString()方法.
但是当我把程序改成
static String s;
public static void main(String[] args){
System.out.println(s.toString());
}
就会报异常.
报异常我能理解.但是第一个程序能打印出null,让我想不通.(能打印出null说明,他把null转成了字符串).
请问是怎么回事.内部是怎么把null转成字符串的或者说是用什么方法转的...
[解决办法]
看一下源代码不就知道了?
public void print(String s) {
if (s == null) {
s = "null";
}
write(s);
}
public void println(String x) {
synchronized (this) {
print(x);
newLine();
}
}
public void print(String s) {
if (s == null) {
s = "null";
}
write(s);
}
看一下源代码不就知道了?public void print(String s) {
if (s == null) {
s = "null";
}
write(s);
}
这个才是我想要的答案(这样打印语句调用的是toString()方法就没错了).请问源代码是怎么查看的.