gpt4 book ai didi

java - HashMap 中的自动装箱返回 NULL

转载 作者:行者123 更新时间:2023-12-02 18:18:13 25 4
gpt4 key购买 nike

我编写了以下代码,我期望的输出是“Hello World”

我得到了 null ,有人可以解释一下这种行为吗?

  import java.util.*;
public class Test {
static HashMap<Integer,String> hm = new HashMap<Integer, String>();

public static void main(String args[]) {
byte b = 1;
hm.put(1, "Hello World");
String s = hm.get(b);
System.out.println("The result is: " + s);
}
}

最佳答案

您无法执行字节到整数的自动装箱。

这种困惑来自于 Map 的 get 方法将 key 作为对象,而不是像映射的 key 类型中指定的 Integer 那样。所以你可以这样做:

String s = hm.get("hello");

这当然没有意义,但是不会有编译错误。

要解决此问题,您应该手动将字节转换为整数(或 int):

String s = hm.get((int)b);

关于java - HashMap 中的自动装箱返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34283044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com