查看源码,得知String.valueOf()方法的实现如下
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
可以清楚的看到,String.valueOf()方法的内部调用的是.toString()方法,只是多加了空值判断。
注意:如果对null执行.toString()方法,则出错。
因此,在不确定对象是否为null的情况下,有两种方案
1、使用String.valueOf()
2、使用.toString()并添加null判断