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

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

但是我找不到一种方法来创建具有通用类型 detailClass 的 LinkedList 。

最佳答案

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);

关于java - 在 com.sun.codemodel 中使用泛型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3688983/

10-11 19:25