次のコード スニペットを Groovyオペレーター内の説明と共に使用しようとしましたが、 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)
}
}
エラーログ:
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)
コードの起源はトピック「Groovy in オペレーターはどのように機能しますか?」からのものです。.
更新:
Groovy バージョン: 1.8.6 JVM: 1.6.0_45 ベンダー: Sun Microsystems Inc. OS: Linux