string一共創(chuàng)建了幾個(gè)對象 newstring產(chǎn)生多少對象?
newstring產(chǎn)生多少對象?String STR=new String(“ABC”)創(chuàng)建兩個(gè)字符串對象:您可以將上述代碼行分成四部分:String STR、=、“ABC”和new String()
newstring產(chǎn)生多少對象?
String STR=new String(“ABC”)創(chuàng)建兩個(gè)字符串對象:您可以將上述代碼行分成四部分:String STR、=、“ABC”和new String()。String STR只定義一個(gè)名為STR的字符串類型的變量,因此它不創(chuàng)建對象;=它初始化變量STR
4。如果在Java中遇到雙引號,您將創(chuàng)建一個(gè)對象(如果雙引號的內(nèi)容不同),因此ABC和def將分別創(chuàng)建對象。同時(shí),Java的字符串是只讀的,因此ABC在def之后,將生成一個(gè)新的對象(原始對象仍在內(nèi)存中)。使用new操作符時(shí),將自動創(chuàng)建一個(gè)新對象,因此總共有四個(gè)對象。
Stringstr=newString(“abc” ”def”)總共創(chuàng)建了幾個(gè)對象?
對于使用字符串創(chuàng)建對象,我們需要了解以下兩點(diǎn):String STR=“Hello”不在堆中創(chuàng)建對象,而只在字符串池中創(chuàng)建對象。String STR1=new String(“Hello”)在堆和字符串池中創(chuàng)建對象。只在堆中創(chuàng)建新對象。(如果此語句前面有上述語句,則不會在字符串池中創(chuàng)建對象,而只在堆中創(chuàng)建對象)。
String創(chuàng)建幾個(gè)對象問題(詳解?
字符串s=新字符串(“XYZ”)中的對象數(shù)可分為兩種情況:
1。如果在字符串常識池中創(chuàng)建了“XYZ”,則不會繼續(xù)創(chuàng)建它。此時(shí),只有一個(gè)對象是新字符串(“XYZ”);
2。如果尚未在字符串常識池中創(chuàng)建“XYZ”,將創(chuàng)建兩個(gè)對象,一個(gè)對象值為“XYZ”,另一個(gè)對象值為新字符串(“XYZ”)。
Strings=newString("xyz")創(chuàng)建幾個(gè)對象?
String s=“123”在字符串常量池中創(chuàng)建一個(gè)值為“123”的字符串對象;String STR=new String(“123”)new關(guān)鍵字強(qiáng)制創(chuàng)建值為“123”的STR String對象,因?yàn)樽址A砍刂幸呀?jīng)存在“123”,JVM直接獲取現(xiàn)有的字符串對象而不執(zhí)行需要創(chuàng)建另一個(gè);因此,創(chuàng)建了兩個(gè)對象。假設(shè)池中不存在“123”,string STR=new string(“123”)將創(chuàng)建兩個(gè)對象。