我有一個類來存儲我所有的常量值,並且一切都很好,直到我決定存儲一個Map。Grails Groovy - 無法從另一個類訪問靜態地圖(集合)
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在另一個類中時纔會發生,因爲如果我在聲明斷言的同一個類中聲明它,則所有事情都按預期工作。
我真的很困惑,這不應該發生,是嗎?
我想你在你的示例代碼中有一些錯別字。我正在清理它們,但我不知道正確的代碼是什麼。請編輯第二個(我認爲它應該是'Constants.states.a')和第三個代碼塊(我認爲這是一個斷言錯誤)。另外,當我使用您的示例Constants類時,我沒有任何麻煩。 – OverZealous 2012-04-19 04:35:57
我糾正了錯別字,對此感到抱歉。斷言錯誤直接從Grails返回的錯誤頁面複製。而且即使堆棧跟蹤也表示我正在比較一個== 1 – GalmWing 2012-04-21 18:29:46