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