使用com.sun.codemodel,我想生成一个通用的LinkedList字段。我可以使用以下代码创建一个原始字段:
JDefinedClass masterClass;
String detailName;
JDefinedClass detailClass;
JFieldVar detailField = masterClass.field(JMod.PRIVATE, LinkedList.class, detailName);
但是我找不到用通用类型detailClass
创建LinkedList的方法。
答案 0 :(得分:14)
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);