中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

String類知識點整理

發布時間:2020-08-05 21:12:45 來源:網絡 閱讀:207 作者:nuli08 欄目:編程語言

先來個面試題吧
面試題一
String a = "ab";
String b = "a" + "b";
sysout(a==b)
答案是true還是false呢?
我們來一起分析一下這個過程
a變量創建時,會在常量池中開辟一塊空間存放ab,然后將空間地址賦值給a;
b變量創建時,編譯器會自動將+的結果運算出來,相當于b == "ab",此時JVM會先判斷常量池中是否存在,直接將該對象的地址引用賦值給b變量,因此a跟b都是指向的常量池中的同一塊地址,所以答案是true。
面試題二
String a = "ab";
String b = new String("ab");
sysout(a==b)
a變量的創建跟上一題一樣
b使用new String(str)方式創建字符串時,如果常量池中存在,則拷貝一份放到堆中,并將堆中的地址指向b;如果常量池中不存在,則新建一份放到常量池中,并拷貝一份放到堆里,并將堆里的地址指向b。所以a字符串在常量池中的值跟b所指向的不是同一份,答案為false。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴安县| 德格县| 砀山县| 宁南县| 黄大仙区| 石嘴山市| 佛坪县| 普安县| 禹州市| 扎鲁特旗| 吕梁市| 仲巴县| 临桂县| 灵寿县| 龙陵县| 鹤壁市| 夏河县| 五台县| 威宁| 沭阳县| 乐至县| 友谊县| 孝昌县| 加查县| 格尔木市| 齐齐哈尔市| 常德市| 广宗县| 平山县| 东宁县| 龙江县| 阿鲁科尔沁旗| 泸定县| 德钦县| 望谟县| 勐海县| 元阳县| 遂昌县| 肥乡县| 桂阳县| 塘沽区|