¿Por qué String.valueOf (null) arroja una NullPointerException?

de acuerdo con la documentación, el métodoString.valueOf(Object obj) devoluciones:

si el argumento esnull, entonces una cadena igual a"null"; de lo contrario, el valor deobj.toString() es regresado.

Pero, ¿cómo es que cuando trato de hacer esto?

System.out.println("String.valueOf(null) = " + String.valueOf(null));

arroja NPE en su lugar? (¡pruébalo tú mismo si no crees!)

    Exception in thread "main" java.lang.NullPointerException
    at java.lang.String.(Unknown Source)
    at java.lang.String.valueOf(Unknown Source)

¿Cómo es que esto está sucediendo? ¿Me está mintiendo la documentación? ¿Es este un error importante en Java?

Respuestas a la pregunta(3)

Su respuesta a la pregunta