Java 为什么这种打印方法有效?不应该';它不会失败吗?
我有一个返回字符串的函数,但首先我检查字符串是否为null,如果为null,则返回null 我的职能Java 为什么这种打印方法有效?不应该';它不会失败吗?,java,println,Java,Println,我有一个返回字符串的函数,但首先我检查字符串是否为null,如果为null,则返回null 我的职能 字符串解码(字符串输入) 如果输入为null,则返回null 所以,如果我执行decode(null()),它应该返回null,对吗? 而且println(null)不应该打印“null”,对吗 可运行的代码链接: 你写的 // System.out.println(null); // this fails because println doesn't accept null 你确定
字符串解码(字符串输入)代码>
如果输入为null,则返回null
所以,如果我执行decode(null())
,它应该返回null
,对吗?
而且println(null)
不应该打印“null”
,对吗
可运行的代码链接:
你写的
// System.out.println(null); // this fails because println doesn't accept null
你确定吗
PrintStream.println
调用String.valueOf
,它将null
转换为字符串“null”,因为System.out.println(null)
将按字面意思打印null
。啊,这就是我需要的解释。谢谢。问题是null
没有类型,因此这会导致编译器错误,因为java不知道调用哪个重载方法。首先将值强制转换为字符串:System.out.println((String)null)代码>
// System.out.println(null); // this fails because println doesn't accept null