以下是我的测试代码
public class Test {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "name = " + name;
}
}
List<Test> tests = new ArrayList<>();
for (int i = 0; i < 20; i++) {
Test test = new Test();
test.setName("Test" + i);
tests.add(test);
}
Test test = tests.get(15);
test.setName("new");
Log.e("Test", test.toString());
Log.e("Test", tests.get(15).toString());
这是实际的输出:
Test: name = new
Test: name = new
我感觉期待的输出应该是这样的:
Test: name = new
Test: name = Test15
这个差异是为什么啊?我并没有对list中的元素进行过修改,我缺少了哪个知识点导致我无法理解这个问题?
宝慕林4294392
小怪兽爱吃肉
红颜莎娜
浮云间
蓝山帝景
犯罪嫌疑人X
慕姐4208626
aluckdog
相关分类