> Since the empty String is a valid String, and Strinfg.valueOf() also returns a String, what other behavior would you ever imagine being sane or possible?
IMHO, String.valueOf() throwing NPE upon encountering a null reference would be both sane and possible.
Unfortunately, it does indeed appear that it returns "null" instead [1].
[1] https://docs.oracle.com/javase/7/docs/api/java/lang/String.h...