java.lang.String中toString()的重写代码如下:
public String toString(){
return this;
}
Run Code Online (Sandbox Code Playgroud)
因此,打印一个String引用变量应该打印引用变量的地址(因为toString()返回'this')但不是字符串文字.为什么我错了?
例如,考虑代码
class Sample
{
String s="dummy";
System.out.println(s);//implicit call to toString()
}
Run Code Online (Sandbox Code Playgroud)
根据toString()源代码中的逻辑,应输出(变量)s的地址,输出为"哑".为什么会发生这种情况?