更新時間:2022-11-16 10:30:11 來源:動力節(jié)點 瀏覽1350次
在給定的示例中,只會創(chuàng)建一個對象。首先JVM不會在字符串常量池中找到任何值為“Welcome”的字符串對象,因此它會創(chuàng)建一個新對象。之后它會在池中找到值為“Welcome”的字符串,它不會創(chuàng)建新對象但會返回對同一實例的引用。
使 Java 的內(nèi)存效率更高(因為如果字符串常量池中已經(jīng)存在,則不會創(chuàng)建新對象)。
使用新關(guān)鍵字
String s = new String(“歡迎”);
在這種情況下,JVM 將在普通(非池)堆內(nèi)存中創(chuàng)建一個新的字符串對象,并將文字“Welcome”放入字符串常量池中。變量 s 將引用堆(非池)中的對象。
句法:
<String_Type> <string_variable> = "<sequence_of_string>";
每當(dāng)將字符串對象創(chuàng)建為文字時,該對象將在字符串常量池中創(chuàng)建。這允許 JVM 優(yōu)化 String 文字的初始化。
CharBuffer:此類實現(xiàn)了 CharSequence 接口。此類用于允許使用字符緩沖區(qū)代替 CharSequences。這種用法的一個例子是正則表達(dá)式包 java.util.regex。
字符串:它是一個字符序列。在java中,String的對象是不可變的,這意味著一個常量,一旦創(chuàng)建就不能改變。
在 Java 中有兩種創(chuàng)建字符串的方法:
字符串字面量
使用新關(guān)鍵字
通過上述介紹,相信大家對Java中的字符串已經(jīng)有所了解,大家如果想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點的Java在線學(xué)習(xí),里面的課程內(nèi)容從入門到精通,細(xì)致全面,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家能夠有所幫助。
初級 202925
初級 203221
初級 202629
初級 203743