在com.sun.codemodel中使用泛型

Jör*_*ann 3 java code-generation sun-codemodel

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

JDefinedClass masterClass;
String detailName;
JDefinedClass detailClass;
JFieldVar detailField = masterClass.field(JMod.PRIVATE, LinkedList.class, detailName);
Run Code Online (Sandbox Code Playgroud)

但是我找不到用通用类型创建LinkedList的方法detailClass.

小智 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);
Run Code Online (Sandbox Code Playgroud)