首页 > 代码库 > Android开发中.toString()和String.valueOf()的区别
Android开发中.toString()和String.valueOf()的区别
其实,很多时候效果是差不多的
但是,有的时候用.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/
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。