如何使用Javassist定义带参数化List的字段

时间:2012-05-11 22:03:53

标签: java javassist

如何使用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;"

1 个答案:

答案 0 :(得分:2)

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