Java字符串相關面試題

1、String類相關的面試題

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

 

一、String str= new String("abcd");實例化 了幾個字符串對象?面試

 

二、String str= "a"+"b";產生幾個對象?spring

 

 

三、String str = "a"+new String("b");產生幾個對象?設計模式

 

 

四、String str1=new String(" abc' );   String str2=new String("abc");-共建立了幾個字符串對象?微信

 

這種題目在網上爭論很大,其實上咱們使用查看字節碼指令的方式來論證是最有權威的。分佈式

 

五、new String("a")+new String("a");建立了幾個對象?學習

 

 

六、new String("a")+new String("b");建立了幾個對象?設計

 

 

七、判斷輸出結果3d

 

 

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

當執行「String s2="ab"+"cd";//兩個字面量鏈接」 的時候會先將兩個字符串常量鏈接直接生成「abcd」。

 

 

當多個字符串的引用相加的時候堆中開闢新的空間,經過咱們的分析,發現了str4最終的地址是在堆中,而str1是在常量池中,因此兩者的地址是不相等的。

總結:

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

二、字符串在內存中的各類變化你要清楚,我以前的課程裏面講解很清楚了。

 

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


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

相關文章
相關標籤/搜索