【问题标题】:Contains method behavior on enums collection in Java包含 Java 中枚举集合的方法行为
【发布时间】:2018-06-21 11:10:39
【问题描述】:

谁能向我解释为什么 contains 方法在以下代码中返回 false? 我有两个相同类型的集合。提示可能是这些集合中的项目在选项卡中的外观不同。 globalRoles 变量是从 json 反序列化的东西(由 Jackson 库)。在这种情况下,变量“角色”的来源实际上是硬编码的值 我有意将代码扩展为多个步骤,以便所有变量的值都是可见的。

【问题讨论】:

标签: java collections enums


【解决方案1】:

好的,这就是解决方案以及出了什么问题。 getGlobalRoles() 返回实际在用 Groovy 编写的映射器中初始化的值。问题是 Groovy 将 Arralist 分配给 List 的变量,没有任何例外。该变量是显式类型的,所以我没有预料到这种行为。在这些情况下通常会引发异常。然后Java因为不同类型的变量后面的字符串列表而变得疯狂。所以它与 contains 方法或 equals 无关......当我尝试过时,这个集合的大多数操作都出错了。

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 1970-01-01
    • 2013-09-23
    相关资源
    最近更新 更多