我一般转换成字符串时喜欢用.toString
但有一个项目里我用.toString以后总报无法类型转换的异常。
这让我很郁闷,后来我把.toString 都改成 String.valueOf() 就不报任何错误。
所以我想问什么时候应该用.toString,什么时候应该使用String.valueOf()。
另外它们两的转换机制是什么?
但有一个项目里我用.toString以后总报无法类型转换的异常。
这让我很郁闷,后来我把.toString 都改成 String.valueOf() 就不报任何错误。
所以我想问什么时候应该用.toString,什么时候应该使用String.valueOf()。
另外它们两的转换机制是什么?
解决方案 »
- 想问下大家对GlassFish与Tomcat的看法
- 大家好,请帮我看下我的这段代码怎么不能修改数据
- java.net.SocketException: Connection timed out
- 如果在命令行中运行不同目录的类文件
- HashSet集合问题
- 用Struts+spring+Hibernate写一个用户登陆权限?
- 我用JAVA编写了个发邮件程序,可是不成功,大家帮看看呀,谢谢!!!!!!!
- 请教字符过滤
- 招聘
- Ladies and Gentlemen ,please tell me how to set classpath and path when I use JBuilder4.0.Thanks!
- 关于方法前加 static 的精确定义
- httpclient 乱码问题
return (obj == null) ? "null" : obj.toString();
}不知道你为什么会有这样的异常。上面这个是 String.valueOf 方法的源代码,
内部调用的也是对象的 toString() 方法。
呵呵,问题是我看源代码前找不着任何原因。
用String.valueOf()就没事但用.toString就错误。
所以我想知道我们这里csdn里的高手们有没有出现过这种情况。
因为这个问题我本人实在是不解。不会是java本身的错误吧?^^
而valueOf()方法因为做了是否为null的判断,如过是null就返回null,不是就返回toString()后的字符串,
这点String.valueOf()帮你处理了,.toString则没有,所以出错
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
从这里也可以看出,valueOf是做了非空判断的,