如何将 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
我正在尝试使用 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