다음 코드에서 이상한 점이 있습니다. 성공적으로지도를 만들고 출력에 나와있는 것처럼 키와 값이 있지만 키 값을 검색 할 수 없습니다.Groovy Grails - 키로지도에서 값을 가져 오는 중 문제가 발생했습니다.
참조 코드와 아래 출력 :
item 2 is null
item 2 is null
keyset is [1, 2, 3]
values are[flange, nork, prule]
은 어떻게 든 내가 아마 키 GStringImpl 또는 뭔가를 생각하지만 일반 문자열로 강제 것입니다 주위에 괄호를 넣어 생각 :
class HomeController {
def index() {
List gs=Gizmo.getAll()
def gizmoList= gs.collectEntries {
[(it.id): (it.name)]
}
println "item 2 is ${gizmoList['2']}"
println "item 2 is ${gizmoList[2]}"
println "keyset is " + gizmoList.keySet().toList().toString()
println "values are" + gizmoList.values().toList().toString()
[myList: gizmoList ]
}
}
콘솔 출력은 .
'Gizmo' 오른쪽 도메인 클래스이다? –
'println gizmoList.keySet() *. getClass() * .name' 키 유형을 쉽게 찾을 수 있습니다. GString을 맵 키로 사용하는 경우 중지합니다. Google은 문제의 원인에 대해 많은 토론을했습니다. http://www.groovy-lang.org/mailing-lists.html#nabble-td4511883 –