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

时间: 2012-09-02 / 分类: 资料积累 / 浏览次数: 2,801 views / 6个评论 发表评论

有的朋友在用这两个的时候感觉差不多

其实,很多时候效果是差不多的

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


public static String valueOf(Object obj) {
     return (obj == null) ? "null" : obj.toString(); 
}

大家可以看到,String.valueOf()内部调用的也是对象的 toString() 方法。
所以说如果你在使用中参数为null,调用toString方法就报异常了!而valueOf()方法因为做了是否为null的判断,如过是null就返回null,不是就返回toString()后的字符串,

建议大家选用String.valueOf()



.

*******************************************************************

上面是广告! 真的是广告!! 真的真的啊!!!

-----------------------------------------------------Copyright © 2011-2012--浙ICP备12011997---------------------------- ---------------------- ------------------------

无觅相关文章插件,快速提升流量