为什么我不能在Java中使用'long'类型创建HashMap?

Kum*_*hav 6 java hashmap

有什么理由不允许以下情况?

HashMap<long, long> x = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)

Mas*_*ave 9

你正在使用原语重写 HashMap<Long,Long> x = new HashMap<>()


Key*_*mer 7

在Java中,具有泛型类型参数的类型(例如HashMap)仅接受从Object继承的类型.long不从Object继承,因此您不能将它与HashMap一起使用.但是你可以使用Long,它是long的盒装版本.


bed*_*rin 5

对像 long 这样的基本类型使用标准集合并不是很有效

如果您需要最小化内存占用并获得更好的性能,您应该考虑像Trove这样的第三方集合库