Java String.valueOf (null) löst NPE aus, aber Object a = null; String.valueOf (a) gibt 'null' zurück [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Warum löst String.valueOf (null) eine NullPointerException aus? 3 Antworten

Gibt es eine logische Erklärung für das folgende Verhalten (Java 7 und ich vermuten auch frühere Ausgaben):

    Object  a = null;
    String as = String.valueOf(a);              // as is assigned "null"
    System.out.println(as+":"+as.length());     // prints: "null:4"
    System.out.println ( String.valueOf(null)); // NPE

Antworten auf die Frage(3)

Ihre Antwort auf die Frage