groovy에서 each 교체 get 방법으로 얻은 값이 비어 있지 않습니다. 원인 탐구입니다.GStringImpl

1591 단어 groovy 학습 노트
groovy가 오늘 문제를 만났는데, 바로 교체기에서 키나entryset을 사용하는 것입니다.키, 값을 가져옵니다. 빈 대상이 가져옵니다.
이 대상을 인쇄한 후, 그 자체가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

좋은 웹페이지 즐겨찾기