如何将 int 用作 HashMap 键?

How can I use an int as a HashMap key?

我正在尝试使用 HashMap 来存储名为 User 的简单 class 的实例。我使用 Integer 作为键类型,因为我想按用户 ID 查找条目,但是当我尝试保存新条目时,我一直收到 NullPointerException

这是导致问题的代码片段:

Integer i = Integer.valueOf(id);
User bob = new User(id, seq, packet.getPort(), packet.getAddress());
if (i == null || bob == null) {
    System.out.println("Null object.");
}
users.put(i, bob);

User 构造函数中使用的值已经设置,我添加的调试语句从未被打印出来。然而,当我尝试调用 users.put(i, bob); 时抛出异常。还有其他方法可以使用 int 作为键吗?

编辑:我很笨,没有初始化 HashMap 本身。

我猜 users(你的 HashMap)是 null