согласно документации, метод 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?