天天看點

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面試技巧