代码之家  ›  专栏  ›  技术社区  ›  Jörn Horstmann

将泛型与com.sun.codemodel一起使用

  •  3
  • Jörn Horstmann  · 技术社区  · 14 年前

    使用 com.sun.codemodel ,我想生成一个通用的LinkedList字段。我可以使用以下代码创建原始字段:

    JDefinedClass masterClass;
    String detailName;
    JDefinedClass detailClass;
    JFieldVar detailField = masterClass.field(JMod.PRIVATE, LinkedList.class, detailName);
    

    但是我找不到一种方法来创建一个泛型类型为的LinkedList。 detailClass .

    1 回复  |  直到 11 年前
        1
  •  14
  •   CSchulz sock_osg    12 年前
    JClass detailClass = codeModel.ref(String.class);
    String detailName = "myLinkedListField";
    JClass rawLLclazz = codeModel.ref(LinkedList.class);
    JClass fieldClazz = rawLLclazz.narrow(detailClass);
    JFieldVar detailField = def.field(JMod.PRIVATE, fieldClazz, detailName);