toString()、String.valueOf()、(String)的比较
来源:互联网 发布:网络贷款利息如何计算 编辑:程序博客网 时间:2024/05/23 01:14
在做项目的时候报出了这个错误:Java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String
原因是因为BigDecimal 类型无法强制转换成String类型,在代码中我的写法是(String)BigDecimal,查了网上的资料,其实方法有三种:i代表其他类型
1》String.valueOf(i)
2》 Integer.toString(i)
3》 i+""
第一种方法和第二种的区别在于,第一种方法还适用于空值null,String.valueOf()函数源代码如下:
注意到,当object为null 时,String.valueOf(object)的值是字符串”null”,而不是null!!!在使用过程中切记要注意。
实质上第一种方法就比第二种多了一个适应空值的功能,但是如果是空值,valueOf()返回的是字符串”null“,而不是原先的null对象。
其实在System.out.println(xx)语句中,括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法。
(String)强制转换,这种方法并不能强制转换成其他非String类型,否则会抛出如下异常, 但是(String)null这么写合法。
Java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String
如:
Object obj = new Integer(100);
String strVal = (String)obj;
在运行时将会出错,因为将Integer类型强制转换为String类型,无法通过。
Object obj = new Integer(100);
String strVal = (String)obj;
在运行时将会出错,因为将Integer类型强制转换为String类型,无法通过。
总结:
这三者的使用,个人觉得应该使用String.valueOf()的方式。这样的使用安全可靠,不会带来异常,但需要注意null;
这三者的使用,个人觉得应该使用String.valueOf()的方式。这样的使用安全可靠,不会带来异常,但需要注意null;
阅读全文
1 0
- toString()、String.valueOf()、(String)的比较
- toString()和String.valueof()比较
- toString() ,String,String.valueOf
- java toString、String.valueOf 、(String) 的区别
- toString() ,(String),String.valueOf的差异
- java.toString() ,(String),String.valueOf的区别
- java.toString() ,(String),String.valueOf的区别
- Java.toString() ,(String),String.valueOf的区别
- java.toString() ,(String),String.valueOf的区别
- java.toString() ,(String),String.valueOf的区别
- toString(),String.ValueOf,(String)Object的区别
- java.toString() ,(String),String.valueOf的区别
- Java.toString() ,(String),String.valueOf()的区别
- java.toString() ,(String),String.valueOf的区别
- java.toString() ,(String),String.valueOf的区别
- string/tostring/string.valueof的区别
- java.toString() ,(String),valueOf
- java.toString() ,(String),valueOf
- idea 在mac下安装,运行时报JavaLaunchHelper类被实现了两次Error
- 2020年联网设备或超340亿台,为智能硬件企业提供检测服务会是个好生意么?
- Android Manifest merger failed with multiple errors,see logs
- Android 一个简单的登录界面(一)
- 魔幻冒险类VR游戏《无界术士》即将登陆Steam平台
- toString()、String.valueOf()、(String)的比较
- 斐波那契序列-java
- Protocol Buffer技术详解(语言规范)
- 解决 :android studio 提交代码到git/github失败 Could not read from remote repository
- WebAPI 后台调用 采用httpclient
- 一对一映射
- 二进制数位数扩展方法
- CSS——textarea多行文本框禁止拖动问题解决
- 限制textfiled输入字符长度