更新時(shí)間:2022-11-16 10:30:11 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1483次
在給定的示例中,只會(huì)創(chuàng)建一個(gè)對(duì)象。首先JVM不會(huì)在字符串常量池中找到任何值為“Welcome”的字符串對(duì)象,因此它會(huì)創(chuàng)建一個(gè)新對(duì)象。之后它會(huì)在池中找到值為“Welcome”的字符串,它不會(huì)創(chuàng)建新對(duì)象但會(huì)返回對(duì)同一實(shí)例的引用。
使 Java 的內(nèi)存效率更高(因?yàn)槿绻址A砍刂幸呀?jīng)存在,則不會(huì)創(chuàng)建新對(duì)象)。
使用新關(guān)鍵字
String s = new String(“歡迎”);
在這種情況下,JVM 將在普通(非池)堆內(nèi)存中創(chuàng)建一個(gè)新的字符串對(duì)象,并將文字“Welcome”放入字符串常量池中。變量 s 將引用堆(非池)中的對(duì)象。
句法:
<String_Type> <string_variable> = "<sequence_of_string>";
每當(dāng)將字符串對(duì)象創(chuàng)建為文字時(shí),該對(duì)象將在字符串常量池中創(chuàng)建。這允許 JVM 優(yōu)化 String 文字的初始化。
CharBuffer:此類實(shí)現(xiàn)了 CharSequence 接口。此類用于允許使用字符緩沖區(qū)代替 CharSequences。這種用法的一個(gè)例子是正則表達(dá)式包 java.util.regex。
字符串:它是一個(gè)字符序列。在java中,String的對(duì)象是不可變的,這意味著一個(gè)常量,一旦創(chuàng)建就不能改變。
在 Java 中有兩種創(chuàng)建字符串的方法:
字符串字面量
使用新關(guān)鍵字
通過上述介紹,相信大家對(duì)Java中的字符串已經(jīng)有所了解,大家如果想了解更多相關(guān)知識(shí),不妨來關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容從入門到精通,細(xì)致全面,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家能夠有所幫助。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)