填充HashMap失败

时间:2018-07-12 02:08:53

标签: java hashmap

我正在尝试用Java创建HashMap并使用.put()方法填充它。蚀的反射使我感到困惑。

在一开始,我以以下方式初始化HashMap,但似乎.put()对于hashMap对象是不可访问的。

public class NewMap {
    Map<Integer, String> hashMap = new HashMap<>();
    hashMap.put(10, "Amir");
    hashMap.put(20, "Bob");
}

然后,我尝试添加一对大括号,并且它起作用了。

public class NewMap {
    Map<Integer, String> hashMap = new HashMap<>();
    {
        hashMap.put(10, "Amir");
        hashMap.put(20, "Bob");
    }
}

我试图弄清楚背后的机制,但是失败了。所有相关类均已正确导入。有人可以照亮它吗?

1 个答案:

答案 0 :(得分:0)

您所做的只是一个方法调用,它只能在一个块内完成。

该类具有状态和行为。行为表示班级可以执行的特定动作或某些活动。由字段维护的状态。该类中块“ {}”的外部区域用于状态声明,块“ {}”用于行为。

例如, 您定义任何函数,并在初始化哈希图的地方调用它。 您将获得以下运行时错误, “无效的方法声明;返回类型为必需的method();”