我想了解为什么会发生以下情况:
数据类型库
public class Bank {
String Blz; String Name;
public String getBlz() {
return Blz;
}
public void setBlz(String Blz) {
this.Blz = Blz;
}
public String getName() {
return Name;
}
public void setName(String Name) {
this.Name = Name;
}
}
这按预期工作:
public List<Bank> getSearchResult() {
List<Bank> banks = new ArrayList<>();
Bank bank = new Bank();
bank.setBlz("1");
bank.setName("Berlin");
banks.add(bank);
bank = new Bank();
bank.setBlz("8");
bank.setName("München");
banks.add(bank);
return banks;
}
该名单作为第一个元素 1 / 柏林和第二个元素 8 / 慕尼黑。但这我不明白:
public List<Bank> getSearchResult() {
List<Bank> banks = new ArrayList<>();
Bank bank = new Bank();
bank.setBlz("1");
bank.setName("Berlin");
banks.add(bank);
//bank = new Bank();
bank.setBlz("8");
bank.setName("München");
banks.add(bank);
return banks;
}
如果我不创建如上所示的新对象库,则列表包含两次 8 / München。为什么会这样?我不明白这一点,因为当我添加第一个元素时,它包含 1 / Berlin。然后我覆盖这些值并添加第二个。
谢谢