慣例廣告一發,對于初學真,真的很有用www.java1234.com,去試試吧!
?
?
有的朋友在用這兩個的時候感覺差不多
其實,很多時候效果是差不多的
但是,有的時候用.toString()會報錯,而用String.valueOf()就不會報錯
這說明兩者是有差別的,在細微之處~
.toString()和String.valueOf()的區別在哪呢?
jdk的文檔中對.toString()有說明:
String.valueOf(Object ? o)?
if the argument is null, then a string equal to “null “; ?otherwise, ?the value of ?obj.toString()? is ?returned.
所以說,遇到這種特殊情況,就會出現異常
再看看String.valueOf()
1 | public static String valueOf(Object obj) { |
2 | ????? return (obj == null) ? "null" : obj.toString();? |
3 | } |
大家可以看到,String.valueOf()內部調用的也是對象的 toString() 方法。
所以說如果你在使用中參數為null,調用toString方法就報異常了!而valueOf()方法因為做了是否為null的判斷,如過是null就返回null,不是就返回toString()后的字符串,
建議大家選用String.valueOf()