2

如何使用 Javassist 定义参数化列表字段?我尝试了以下代码,它不会抱怨未参数化的 List 类,但在给定参数时会导致 CannotCompileException。

    ClassPool pool = ClassPool.getDefault();
    pool.importPackage("java.util.List");
    CtClass cc = pool.makeClass("Test");
    CtField f = CtField.make("public List<String> p;", cc);
    // throws javassist.CannotCompileException: [source error] syntax error near "lic List<String> p;"
4

1 回答 1

2

我猜想编译器 javassist 在内部使用的语言合规级别设置为 Java 1.4,这可以解释为什么它不理解泛型(它们是在 1.4 中引入的)

于 2012-05-11T22:12:31.560 回答