该
get方法返回对存储整数的引用的 副本 。
给存储该副本的变量分配一个新值,指向该值
10将 不会 更改映射中的引用。
如果可以的话,它会工作
balance.setValue(10),但是由于
Integer是一个不可变的类,因此这不是一个选择。
如果要使更改在地图中生效,则必须将余额包装在(可变)类中:
class Balance { int balance; ...}Balance balance = cardNumberBalance_.get(cardNumber);System.out.println(balance.getBalance());balance.setBalance(10);Balance newBalance = cardNumberBalance_.get(cardNumber);System.out.println(newBalance.getBalance());但是您可能想要执行以下操作:
cardNumberBalance_.put(cardNumber, 10);



