2
public class StringTest
{
    public static void main(String... args)
    {
        String str=null;
        System.out.println(str);
    }
}

为什么这段代码显示为空?当我们将引用变量传递给println()方法时,它将调用toString()方法。对于 String 类,toString()将调用返回当前对象的方法。String str=null表示不存在任何对象。

4

3 回答 3

5

文档报告System.out.println(String):_

打印一个字符串,然后终止该行。该方法的行为就好像它调用了print(String)then println()

和报告文件print(String)

打印一个字符串。如果参数是null,则打印字符串“null”。否则,按照平台默认的字符编码将字符串中的字符转换为字节,并按照方法的方式写入这些字节write(int)

于 2013-06-28T14:21:04.350 回答
1

你的答案在这里

打印一个字符串。如果参数为 null,则打印字符串“null”

请注意,“此方法的行为就像它调用 print(String) 然后 println()

于 2013-06-28T14:20:42.593 回答
0

尝试字符串 str="";

null 表示该内存空间中没有任何内容...如果您使用“”,则内部的空白空间将计数,同时将为该变量创建一个空间内存将不显示任何内容(我认为就是这样)

于 2013-06-28T14:24:39.483 回答