我有一个类来存储我所有的常量值,一切都很好,直到我决定存储一个Map。
final class Constants {
public static final Map states = [a: 1,b: 2]
}
在服务中:
assert Constants.states.a == 1
导致错误:
assert Constants.states.a == 1 | | a false
它返回的是键而不是值。并且只有当Map在另一个类中时才会发生,因为如果我在我创建断言的同一个类中声明它,那么一切都按预期工作。
我真的很困惑,这不应该发生,是吗?
答案 0 :(得分:0)
添加最终访问说明符时,此类是否公开?先检查一下。如果是,那么试试 断言Constants.states.get('a')== 1