集合视图上的映射
你明白这张幻灯片中this MIT course(所讨论的幻灯片在第44页)实际上在说什么吗?冻结键是什么意思?我知道地图的键不能更改,否则键和值都将丢失。然而,我并没有完全理解用boolean frozen
冻结密钥的概念。(我只阅读了可在线免费下载的幻灯片,我没有参加课程)
//Freeze Keys
public class Name {
private
String first;
private
String last;
private
boolean frozen = false;
public void setFirst(String s) {
if (!frozen)
first = s;
}
//...
// do same with setLast
public void freeze() {
frozen = true;
先谢谢你
# 1 楼答案
freeze
只是一个标志,它告诉类跳过变量赋值,从而有效地忽略对其setter的调用创建实例后,对
setFirst
的调用将设置first
成员变量。在调用freeze
之后,对setFirst
的调用将不起任何作用,从而“冻结”对象的状态