1

我有一个类来存储我所有的常量值,在我决定存储地图之前一切都很好。

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 在另一个类中时才会发生,因为如果我在进行断言的同一类中声明它,一切都会按预期工作。

我真的很困惑,这不应该发生,是吗?

4

1 回答 1

0

当您添加最终访问说明符时,此类是公共的吗?先检查一下。如果是,则尝试 assert Constants.states.get('a') == 1

于 2012-04-19T11:44:40.207 回答