gpt4 book ai didi

Java HashMap 盒装键类型自动转换怪异

转载 作者:行者123 更新时间:2023-11-29 06:05:38 26 4
gpt4 key购买 nike

刚刚发现 Java HashMap 的一个非常奇怪的行为。该 map 具有 Long 类型的键,但是当我通过 int 键访问它们时,没有自动转换,而是 get()方法返回 null,就好像键不存在一样!为什么 Java 在这种情况下没有从 int 到 long 的正确自动转换?

最佳答案

Map.get() 和 remove() 接受任何对象。您的 int 被自动装箱为 Integer

它不知道你想写的是 map.get((Long) (long) intValue) 还是 map.get((long) intValue)

如果您使用的是基本类型,而不是对象,您可以尝试 TLongObjectHashMap,它会将 int 转换为 long(不是包装器)

关于Java HashMap 盒装键类型自动转换怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8628995/

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