目录
(2)String.valueOf()返回字符串“null”
2、String.valueOf(),推荐使用,返回字符串“null”
一、代码实例
1、基本类型
(1)基本类型没有toString()
方法
编辑
(2)推荐使用
编辑
(3)无法强转
编辑
(String)是标准的类型转换,将Object类型转为String类型,使用(String)强转时,最好使用instanceof做一个类型检查,以判断是否可以进行强转,否则容易抛出ClassCastException异常。需要注意的是编写的时候,编译器并不会提示有语法错误,所以这个方法要谨慎的使用。
编辑
instanceof
判断
编辑
2、封装类型
(1)toString ok
编辑
(2)String.valueOf()
自然也是可以的。
(3)封装类型也无法强转
编辑
3、null值问题
(1)toString()
报空指针异常
编辑
(2)String.valueOf()
返回字符串“null”
编辑
(3)null值强转成功
编辑
二、源码分析
1、toString()
编辑
编辑
2、String.valueOf()
编辑
String.valueOf()
比toString
多了一个非空判断。
三、总结
1、toString()
,可能会抛空指针异常
在这种使用方法中,因为java.lang.Object类里已有public
方法.toString()
,所以java对象都可以调用此方法。但在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException
异常。采用这种方法时,通常派生类会覆盖Object
里的toString()
方法。
2、String.valueOf()
,推荐使用,返回字符串“null”
String.valueOf()
方法是推荐使用的,因为它不会出现空指针异常,而且是静态的方法,直接通过String调用即可,只是有一点需要注意,就是上面提到的,如果为null,String.valueOf()
返回结果是字符串“null”。而不是null。
3、(String)强转,不推荐使用
(String)是标准的类型转换,将Object类型转为String类型,使用(String)强转时,最好使用instanceof
做一个类型检查,以判断是否可以进行强转,否则容易抛出ClassCastException异常。需要注意的是编写的时候,编译器并不会提示有语法错误,所以这个方法要谨慎的使用。
如果小假的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!
编辑