1. 程式人生 > 實用技巧 >Java字串相關面試題

Java字串相關面試題

一、String類相關的面試題

String型別的面試是長久不衰老生常談的一些經典問題,那麼今天我們就來分析分析,看看它究竟有多奇葩?如果你要明白本次課的內容,那麼前面的關於String .類我講過的知識你要看完學完,我曾經說過我的課程的順序是不能打亂的,因為他們是連貫的知識點。你可能聽不懂,因為老師講解的課程都是偏向深入。

1、String str= new String("abcd");例項化 了幾個字串物件?

2、String str= "a"+"b";產生幾個物件?

3、String str = "a"+new String("b");產生幾個物件?

4、String str1=new String(" abc' ); String str2=new String("abc");-共建立了幾個字串物件?

這種題目在網上爭論很大,其實上我們使用檢視位元組碼指令的方式來論證是最有權威的。

5、new String("a")+new String("a");建立了幾個物件?

6、new String("a")+new String("b");建立了幾個物件?

7、判斷輸出結果

當執行“String” s1=" abcd"; 的時候會在常量池中建立--個"abcd",

當執行“String s2="ab"+"cd";//兩個字面量連線” 的時候會先將兩個字串常量連線直接生成“abcd”。

當多個字串的引用相加的時候堆中開闢新的空間,通過我們的分析,發現了str4最終的地址是在堆中,而str1是在常量池中,所以二者的地址是不相等的。

總結:

1、字串的相關面試題你要明白,不要在這種地方丟分

2、字串在記憶體中的各種變化你要清楚,我之前的課程裡面講解很清楚了。

有完整的Java初級,高階對應的學習路線和資料!專注於java開發。分享java基礎、原理性知識、JavaWeb實戰、spring全家桶、設計模式、分散式及面試資料、開源專案,助力開發者成長!


歡迎關注微信公眾號:碼邦主