String.valueOf(Object)在Java中,和之间有什么区别Object.toString()吗?这些是否有特定的代码约定?
String.valueOf(Object)
Object.toString()
根据Java 文档,String.valueOf()返回:
String.valueOf()
如果参数是null,则字符串等于"null"; 否则,obj.toString()返回 的值。
null
"null"
obj.toString()
所以除了额外的方法调用之外应该没有什么区别。
此外,在 的情况下Object#toString,如果实例是null,NullPointerException则将抛出 a ,因此可以说,它不太 安全 。
Object#toString
NullPointerException
public static void main(String args[]) { String str = null; System.out.println(String.valueOf(str)); // This will print a String equal to "null" System.out.println(str.toString()); // This will throw a NullPointerException }