先來個面試題吧
面試題一
String a = "ab";
String b = "a" + "b";
sysout(a==b)
答案是true還是false呢?
我們來一起分析一下這個過程
a變量創(chuàng)建時,會在常量池中開辟一塊空間存放ab,然后將空間地址賦值給a;
b變量創(chuàng)建時,編譯器會自動將+的結果運算出來,相當于b == "ab",此時JVM會先判斷常量池中是否存在,直接將該對象的地址引用賦值給b變量,因此a跟b都是指向的常量池中的同一塊地址,所以答案是true。
面試題二
String a = "ab";
String b = new String("ab");
sysout(a==b)
a變量的創(chuàng)建跟上一題一樣
b使用new String(str)方式創(chuàng)建字符串時,如果常量池中存在,則拷貝一份放到堆中,并將堆中的地址指向b;如果常量池中不存在,則新建一份放到常量池中,并拷貝一份放到堆里,并將堆里的地址指向b。所以a字符串在常量池中的值跟b所指向的不是同一份,答案為false。
成都創(chuàng)新互聯(lián)公司是專業(yè)的鯉城網(wǎng)站建設公司,鯉城接單;提供網(wǎng)站設計、成都網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行鯉城網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
當前題目:String類知識點整理
地址分享:http://jinyejixie.com/article34/jjphpe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設、軟件開發(fā)、網(wǎng)站設計公司、微信公眾號、網(wǎng)頁設計公司、ChatGPT
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)