Groovy 운영자의 설명에 다음 코드를 사용하려고 시도했지만, VerifyError이 발생했습니다. 너희들 생각 좀 해봤 니?java.lang.VerifyError는 왜 의미가 있습니까?
코드 및 콘솔 출력은 다음과 같습니다.
class Hello extends ArrayList {
boolean isCase(Object val) {
return val == 66
}
static void main(args) {
def myList = new Hello()
myList << 55
assert 66 in myList
assert !myList.contains(66)
}
}
오류 로그 : 주제 How does the Groovy in operator work?에서
Exception in thread "main" java.lang.VerifyError: (class: Hello, method: super$1$stream signature:()Ljava/util/stream/Stream;) Illegal use of nonvirtual function call
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:259)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:116)
코드 원점.
업데이트 :
그루비 버전 : 1.8.6 JVM : 1.6.0_45 업체 : 썬 마이크로 시스템즈의 OS : 리눅스
생성 된 바이트 코드가 유효하지 않음을 의미합니다. Groovy의 어떤 버전입니까? 그것은 groovyConsole에서 나를 위해 잘 작동합니다. –
@DaveNewton Groovy 버전은 1.8.6입니다. –