Java Map不接受"boolean"

ras*_*ayu 22 java map

也许是一个新手问题,但我不明白为什么当我尝试做一些像Map<String, boolean>我的IDE尖叫说"令牌上的语法错误"boolean",Dimensions预期在此令牌后",但使用布尔它完美.任何人都可以解释我为什么会那样?提前致谢!!

Jon*_*eet 43

简单地说:Java泛型不适用于原始类型参数,只适用于类.所以,以同样的方式,你不能List<int>只使用List<Integer>.

有关更多信息,请参阅相关的Java Generics FAQ条目.


Alv*_*vin 27

使用布尔值而不是布尔值.Map只能包含对象,boolean是基本类型而不是对象.Boolean是boolean的对象包装器.


Mis*_*ble 12

除了其他回复之外,请注意您几乎可以Map<String, Boolean>使用它一样使用和使用它们.也就是说,你将能够和s(原始).查找autoboxing以解释其原因.使用自动装箱存在一些缺陷,但在简单的情况下应该可以使用.Map<String, boolean>putget boolean