91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何在Java創建一個String變量

發布時間:2020-11-26 15:47:40 來源:億速云 閱讀:362 作者:Leah 欄目:編程語言

如何在Java創建一個String變量?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

在java中,有兩種創建String類型變量的方式:

String str01="abc";//第一種方式
String str02=new String("abc");//第二種方式

第一種方式創建String變量時,首先查找JVM方法區的字符串常量池是否存在存放"abc"的地址,如果存在,則將該變量指向這個地址,不存在,則在方法區創建一個存放字面值"abc"的地址。

第二種方式創建String變量時,在堆中創建一個存放"abc"的對象,使變量str02指向堆中的對象。

根據上面的創建方式,觀察下面的示例:

String str01 = "abc";
String str02 = "abc";
String str03 = new String("abc");
String str04 = new String("abc");
System.out.println("str01==str02:" + (str01 == str02));
System.out.println("str03==str04:" + (str03 == str04));
System.out.println("str01==str03:" + (str01 == str03));

分析:

1、在創建str01時,方法區的字符串常量池中沒有存儲"abc"的地址,就在常量池中創建一個存放"abc"的地址,使變量str01指向該地址。創建str02時,字符串常量池已存在存放"abc"的地址,將str02變量指向該地址,此時str01與str02指向同一內存地址,所以"str01==str02"為true。

2、使用new關鍵字創建對象時,每一次都會在堆中創建一個新的對象,所以str03與str04指向對象的地址不同,"str03==str04"為false。

3、str01指向方法區,str03指向堆,所以"str01==str03"為false。

如何在Java創建一個String變量

String對象被設計成不可改變的對象,即String對象所包含的字面值發生改變時,會開辟一個新的地址,創建一個新的對象,原地址不變。

String str01 = "abc";
String str02 = "abc";
str01="def";

如何在Java創建一個String變量

在方法區的字符串常量池中建立一個新的存儲"def"的地址,str01指向該地址,str02的指向不變。

關于如何在Java創建一個String變量問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

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

AI

江城| 富平县| 旺苍县| 抚宁县| 文安县| 彭水| 汉寿县| 惠安县| 宿迁市| 青河县| 榆中县| 克拉玛依市| 大厂| 亚东县| 闽清县| 广南县| 交城县| 淮阳县| 永川市| 乌鲁木齐县| 玉山县| 万源市| 靖远县| 泰州市| 文水县| 乌拉特中旗| 壤塘县| 万宁市| 龙南县| 德州市| 保德县| 辛集市| 那曲县| 信阳市| 赤城县| 信宜市| 辽宁省| 会同县| 定兴县| 合水县| 昌乐县|