请看下面的例子:
class nul
{
public static void main (String[] args)
{
System.out.println (String.valueOf((Object)null));
System.out.println (String.valueOf(null));
}
}
第一个println
语句输出null
,但第二个语句抛出了一个NullPointerException
异常。
为什么只有第二个语句会抛出异常?这两个null
之间有什么区别?在Java中是否存在真正的null
和伪造的null
?
String.valueOf(null)
会抛出NullPointerException
异常? - tckmn