我知道當我們使用下面給出的字符串文字時,String對象在字符串池中創建(如果它不存在)。將爲String創建多少個對象?
String str1= "hello";
String str2= "hello";
在上面的例子中,只有一個字符串對象將在池中創建。
但是,當我們使用new關鍵字它總是在堆內存中創建一個新的String對象(即使有一個在字符串池)
String str3=new String("hello"); // here a new object will be created in heap.
在這裏,我有一個關於許多對象如何將一個混亂在下面的情況下創建(池或堆內存)。
1) String s="Hello";
String s1 = new String ("Hello");
2) String s = new String("Hello");
String s1 = new String("Hello");
3) String s="Hello";
String s1=new String (s);
4) String s1 = new String ("Hello");
String s="Hello";
您是否試過閱讀JRE源代碼? –