可能重複:
How to know how many objects will be created with the following code?多少對象 - Java的
我有以下的代碼行的程序
String str1 = "abc";
String str2 = str1;
String str3 = "abc";
我想知道如何執行上面3行代碼時會創建許多對象。
可能重複:
How to know how many objects will be created with the following code?多少對象 - Java的
我有以下的代碼行的程序
String str1 = "abc";
String str2 = str1;
String str3 = "abc";
我想知道如何執行上面3行代碼時會創建許多對象。
所有這三個引用都指向相同的實例String對象。
只創建一個對象。其餘部分(str2,str3)被稱爲內部字符串池。
2,1個字符串對象,字符串包含1個字符數組。
好的。一個數組是一個對象,所以它是(或者)2(或者0,如果「abc」已經在運行jvm中被執行,請參閱[codaddicts答案](http://stackoverflow.com/questions/3854553/how-many -objects-正在創建的,這裏的Java/3854604#3854604)) – 2010-10-04 11:22:32
它可以創建0
或1
對象。
如果已經存在一個值爲的interned字符串對象,則不會創建任何對象,如果該對象不存在,則會創建該對象。
@Bragboy - 沒有重複,所有字符串文字都不同(或使用新的),在這裏它們是相同的。 – Ishtar 2010-10-04 11:05:40