有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

集合视图上的映射

你明白这张幻灯片中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) 个答案

  1. # 1 楼答案

    freeze只是一个标志,它告诉类跳过变量赋值,从而有效地忽略对其setter的调用

    创建实例后,对setFirst的调用将设置first成员变量。在调用freeze之后,对setFirst的调用将不起任何作用,从而“冻结”对象的状态