groovy에서 each 교체 get 방법으로 얻은 값이 비어 있지 않습니다. 원인 탐구입니다.GStringImpl
1591 단어 groovy 학습 노트
이 대상을 인쇄한 후, 그 자체가java가 아니라는 것을 발견했습니다.lang.String이 아니라 org입니다.codehaus.groovy.runtime.GstringImpl 유형입니다.
H에게 물었더니, 그는 이groovy의 문자열이 좀 재미있다고 말했다.원본 코드를 보고 공유할게요.
def ss1="value1" ;
def e = new HashMap();
e.put("key1",ss1);
e.each{key,value ->
println("-------------------------------------------");
println(e.get("$key"));
println(e."$key");
println(e.get("$key".toString()));
println("$key".getClass().toString());
println("123$key".getClass().toString());
println(("123"+"123$key").getClass().toString());
}
결과 내보내기
null value value class org.codehaus.groovy.runtime.GStringImpl class org.codehaus.groovy.runtime.GStringImpl class java.lang.String