本篇文章為大家展示了如何初始化String,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的太和網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1: String str = "abc"創(chuàng)建一個字符串的過程
首先在常量池(方法區(qū))中查找是否存在內(nèi)容為"abc"的字符串對象
如果不存在則在常量池中創(chuàng)建一個"abc"的字符串對象,并讓str引用該對象
如果存在則直接讓str引用該對象
2: String str = new String("abc")創(chuàng)建一個字符串的過程
首先定義一個str的String類型的引用并存放在棧中
在字符串常量池中查看是否存在內(nèi)容為"abc"字符串對象
若存在則跳過這個步驟,若不存在,則在字符串常量池中創(chuàng)建一個內(nèi)容為"abc"的字符串對象。(前三步都是在編譯時完成的)
執(zhí)行new操作,在堆中創(chuàng)建一個指定的對象"abc",這里堆的對象是字符串常量池“abc”對象的一個拷貝對象。
讓str指向堆中“abc”這個對象(也就是存儲這個對象的在堆中的地址)
有時會問 String str = new String("abc")
創(chuàng)建一個字符串的過程會創(chuàng)建幾個對象?
答:一個或兩個(因?yàn)榫幾g時會檢查方法區(qū)常量池中是否已經(jīng)存在需要創(chuàng)建的字符串對象。若存在直接將引用指向常量池的對象,此時只會在隨后的運(yùn)行時堆中創(chuàng)建一個對象。而如果不存在,會先在常量池中創(chuàng)建一個對象,在隨后的運(yùn)行時還會在堆中再創(chuàng)建一個對象,所以此時會創(chuàng)建兩個對象)
上述內(nèi)容就是如何初始化String,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。