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

値の代わりにキーを返しています。また、マップが別のクラスにある場合にのみ発生します。アサートを行う同じクラス内で宣言すると、すべてが期待どおりに機能するためです。

私は本当に混乱しています、それは起こらないはずですよね?

4

1 に答える 1

0

最終アクセス指定子を追加すると、このクラスはパブリックになりますか?最初にそれを確認してください。その場合は、Constants.states.get('a')==1をアサートしてみてください

于 2012-04-19T11:44:40.207 に答える