【问题标题】:Java Map did not accept "boolean" [duplicate]Java Map 不接受“布尔值”[重复]
【发布时间】:2011-10-05 03:42:47
【问题描述】:

也许是一个新手问题,但我不明白为什么当我尝试做类似Map<String, boolean> 之类的事情时,我的 IDE 会尖叫说“令牌“布尔”上的语法错误,此令牌之后需要尺寸”,但使用布尔值完美运行。谁能解释我为什么会这样?提前致谢!!

【问题讨论】:

标签: java map


【解决方案1】:

除了其他回复,请注意您可以使用Map<String, Boolean>,并且几乎将它们用作Map<String, boolean>。也就是说,您将能够putget booleans(原始)。查找自动装箱以了解其工作原理。使用自动装箱有一些陷阱,但在简单的情况下它应该可以工作。

【讨论】:

    【解决方案2】:

    使用布尔值而不是布尔值。 Map 只能包含对象,而 boolean 是原始类型而不是对象。 Boolean 是 boolean 的对象包装器。

    【讨论】:

      【解决方案3】:

      简单地说:Java 泛型不适用于原始类型参数,只能用于类。所以同理,不能用List<int>,只能用List<Integer>

      有关详细信息,请参阅相关的Java Generics FAQ entry

      【讨论】:

        猜你喜欢
        • 2017-06-26
        • 2022-06-13
        • 2014-01-06
        • 2015-11-27
        • 1970-01-01
        • 2014-02-25
        • 1970-01-01
        • 2020-08-05
        • 1970-01-01
        相关资源
        最近更新 更多