NullPointerException
брошено только если вы пытаетесь вызвать метод на ссылки, которая null
(или пытается получить доступ к полю его, или вручную бросить NullPointerException
).
Это не происходит в вашем случае, потому что ваш null
ссылка будет преобразована в "null"
String
, ни один метод не будет вызываться на локальной переменной s
.
Так, например:
String s = null;
boolean isNull = s == null; // This is ok, just testing the value of s
s.toString(); // NPE, s is null
Также обратите внимание, что статические поля могут быть доступны, даже если переменная null
:
s.valueOf(12); // THIS IS ALSO OK, valueOf(int) is static
// It is equivalent to:
String.valueOf(12);
Язык спецификации определяет его работать, как это; см.: http://docstore.mik.ua/orelly/java/fclass/ch02_03.htm –