您的位置:首页 > 产品设计 > UI/UE

Android开发中.toString()和String.valueOf()的区别

2014-05-15 09:32 344 查看
其实,很多时候效果是差不多的

但是,有的时候用.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()

转自http://www.ztyhome.com/android-tostring-string-valueof-diff/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: