toString()和String.valueOf()的区别(转)

惯例广告一发,对于初学真,真的很有用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()

 
1public 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()

转载于:https://www.cnblogs.com/hualidezhuanshen/archive/2013/06/15/3137887.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值