1

虽然我尝试将以下代码片段与 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. 操作系统:Linux

4

1 回答 1

1

Check this out. It's for Java, but generally problem is, that you are using wrong library versions. The class is there, but different version than expected.

http://craftingjava.blogspot.co.uk/2012/08/3-reasons-for-javalangverfiyerror.html

Probably you have messed up Groovy or Java SDK installations.

于 2014-07-23T17:06:02.507 回答