String.valueof(.) 有多个重载的方法其中有两个方法可以为空
String.valueof(char[] arg);
String.valueof(Object arg);
根据java语言规范 【Choosing the Most Specific Method】 选择最具体的方法
char[] 与 Object相比 char[]更具体
所以会选择String.valueof(char[] arg);
而这个方法并没有非空判断 所以会报NullPointerException