一、String.valueOf()
当传入的参数为一个引用且该引用为 null 时,方法返回字符串“null”
简言之,如果对象为 null 就返回字符串的“null”,不为空就调用 toString 方法。此时若用StringUtils.isBlank()
这类方法判断时将返回 true。该方法的源码如下(jdk1.8.0_131中String的部分源码):
特别注意:
valueOf() 可能会返回“null”字符串,不能用 StringUtils.isEmpty() 或 isBlank() 来简单地判断 valueOf() 返回值是否为空。
二、调用String.valueOf()
时若实参直接写为 null,方法会报 NPE。
通过 IDE 可以看出,valueOf(null)
调用的 String 类的方法如下(jdk1.8.0_131中String的部分源码):
而上述源码的中new String(data)
又会调用如下方法(jdk1.8.0_131中String的部分源码):