真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在Java創(chuàng)建一個String變量-創(chuàng)新互聯(lián)

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

廣陽網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),廣陽網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為廣陽1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的廣陽做網(wǎng)站的公司定做!

在java中,有兩種創(chuàng)建String類型變量的方式:

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

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

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

根據(jù)上面的創(chuàng)建方式,觀察下面的示例:

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、在創(chuàng)建str01時,方法區(qū)的字符串常量池中沒有存儲"abc"的地址,就在常量池中創(chuàng)建一個存放"abc"的地址,使變量str01指向該地址。創(chuàng)建str02時,字符串常量池已存在存放"abc"的地址,將str02變量指向該地址,此時str01與str02指向同一內(nèi)存地址,所以"str01==str02"為true。

2、使用new關(guān)鍵字創(chuàng)建對象時,每一次都會在堆中創(chuàng)建一個新的對象,所以str03與str04指向?qū)ο蟮牡刂凡煌?str03==str04"為false。

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

如何在Java創(chuàng)建一個String變量

String對象被設(shè)計成不可改變的對象,即String對象所包含的字面值發(fā)生改變時,會開辟一個新的地址,創(chuàng)建一個新的對象,原地址不變。

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

如何在Java創(chuàng)建一個String變量

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

關(guān)于如何在Java創(chuàng)建一個String變量問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


網(wǎng)頁名稱:如何在Java創(chuàng)建一個String變量-創(chuàng)新互聯(lián)
當(dāng)前地址:http://weahome.cn/article/dsehge.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部