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

时间:2014-05-15 14:13:45   收藏:0   阅读:295

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

 

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

 

 

 

 

 

Android开发中.toString()和String.valueOf()的区别,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!