当我们使用对象转换为String类型时
在使用toString()方法中,因为java.lang.Object类里已有public方法.toString(),所以对任何严格意义上的java对象都可以调用此方法。但在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。
String.valueOf()是静态的,直接通过String调用,它是使用价值时高于toString()方法的。我们看看它内部的实现机制:
public static String valueOf(Object obj){
return (obj==null) ? “null” : obj.toString()
};
在内部就是做了为空的判断的,所以就不会报出空指针异常。
当obj为空时,返回字符串“null”
注意:返回的是字符串,而不是null。