首页 > 解决方案 > 填充 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");
    }
}

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

标签: javahashmap

解决方案


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

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

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


推荐阅读