以下代码中创建了多少个对象?
String a, b, c;
a = "1234";
b = a;
c = a + b;
我被告知答案是2
,因为只有a和b指向他们自己的数据。
c
仅使用a
和b
创建。但是,不是宣布变量被认为是创建的行为吗?这个问题含糊不清吗?我说3
。
答案 0 :(得分:3)
a = "abcd"
创建一个String
对象,并使用值“abcd”对其进行初始化。这是一个对象
b = a
使b
指向与a
相同的位置,因此a + b
将创建一个新对象,然后将其分配给c
。这使得总共创建了两个对象
答案 1 :(得分:0)
我认为答案是2.当b = a时,实际上a是对b的引用。当你在日食上调试你的程序时,你会看到a和b有相同的id。它们实际上是一个对象。