直接上源码:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
这是String.valueOf()的源码。先进行判断是否为null,如果为null 直接赋值为null,如果不为null,就调用toString()方法。
这样String.valueOf()和toString()的区别就是:String.valueOf进行String强制转换时不用考虑它是否为null,而.toString不能为空对象进行字符串转换。