Java常见面试题:String转换

用(String)强转,什么场景使用toString()强转?

Object类之中提供有一个toString()方法,意味着所有类的对象都具有此方法,此方法只有一个核心作用:将对象的内容变为字符串。

首先来观察一下Object.toString()方法的实现:

Java常见面试题:String转换

如果说现在发生了String向Object类的向上转型(不去考虑出于什么原因才需要进行转型)

Java常见面试题:String转换
Java常见面试题:String转换

具体点说:使用toString()容易造成空间指向异常:

Java常见面试题:String转换
Java常见面试题:String转换
Java常见面试题:String转换

总结:如果你使用的是String,在不为null的情况下,使用强制转型和toString()方法效果一样,但如果为null,就会出现NullPointerException。保险的做法是:使用强制转型,在确定不为空的情况下,两种方式对String操作效果是一样的(只有String是,其它的类都没有,其它的类如果要变为指定类型只能够使用强制向下转型)。

更多专业知识,面试技巧就在阿里云开发者社区,持续更新中……
感谢浏览~
本内容来源于阿里云大学-Java面试技巧

上一篇:Java常见面试题:多线程应用


下一篇:Java常见面试题:ThreadLocal和ThreadPool原理以及应用场景