2014-12-18 97 views
0
String a = "Hello"; 
String b = new String("Hello World"); 

有人可以告诉我有多少个对象被创建和详细说明。Java中的字符串和对象

谢谢。

+0

我很确定这个问题已经在这里问过几次了。 –

回答

0

String greeting = "Hello world!";
在这种情况下,“世界,你好!”是一个 字符串文字 - 您的代码中包含在 双引号中的一系列字符。只要遇到代码中的字符串文字, 编译器会创建一个String对象及其值 - 在此例中为 Hello world!

String a = "Hello"; // 1 object 
String b = new String("Hello World"); 
// 1 object with new String(), 
// 1 object with "Hello World" 

共创建3个objecs。

+0

不止有3个对象:String pool(1个对象),'String.class'(1个对象),每个'String'的后备'char []'(因为Java中的数组是一个对象,对象)和... –