根据文档,方法
String.valueOf(Object obj)
返回:
但是当我尝试这样做时,为什么会出现问题:如果参数是
null
,则返回一个等于"null"
的字符串;否则,返回obj.toString()
的值。
System.out.println("String.valueOf(null) = " + String.valueOf(null));
它为什么会抛出NPE?(如果你不相信,请自行尝试!)
Exception in thread "main" java.lang.NullPointerException at java.lang.String.(Unknown Source) at java.lang.String.valueOf(Unknown Source)
为什么会发生这种情况?是文档在欺骗我吗?这是Java中的一个重大错误吗?
null
),请确保两个重载对该值的处理方式相同! - Joachim SauerString.valueOf(Object)
和valueOf(char[])
无论是否为null
,它们所执行的操作完全不同,或许它们一开始就不应该是重载方法。 - polygenelubricantsreturn null;
和return (Object) null;
是完全相同的吗? - user972276