java - Java代码模型是否支持GenericEntity

标签 java jcodemodel

Java 代码模型支持 GenericEntity 吗?

我正在尝试使用 jcodemodel 生成如下代码:

Object obj = new GenericEntity<List<java.lang.String>>(listStr){}

但我做不到。我使用下面的代码:

JType jObjType = ((JClass) jcodemodel._ref(GenericEntity.class)).narrow(jcodemodel.ref(List.class).narrow(
                jcodemodel.ref(String.class)));
JVar jvobj = jMethodResource.body().decl(jcm.ref(Object.class), "obj",  JExpr._new(jObjType).arg(.....listStr reference...));

使用此方法得到的代码如下: 对象 obj = new GenericEntity>(listStr)

但是缺少“{}”。

有人可以帮我吗?如何编写代码以便我获得 {} :

Object obj = new GenericEntity<List<java.lang.String>>(listStr){}

最佳答案

使用此方法( https://codemodel.java.net/nonav/apidocs/com/sun/codemodel/JCodeModel.html#anonymousClass(com.sun.codemodel.JClass) )。类似这样的事情:

    JClass listOfEmplType = jcodemodel.ref(List.class).narrow(jcodemodel.ref(
            Emplyee.class.getName()));
    JVar listOfEmpl = jMethodResource.body().decl(listOfEmplType, "listStr", JExpr._null());
    JClass jObjType = ((JClass) jcodemodel._ref(GenericEntity.class)).narrow(listOfEmplType);
    JVar jvobj = jMethodResource.body().decl(jcodemodel.ref(Object.class), "obj",  
            JExpr._new(jcodemodel.anonymousClass(jObjType)).arg(listOfEmpl));

关于java - Java代码模型是否支持GenericEntity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32500159/

相关文章:

java - IOException 没有提供足够的信息

java - 使用 JCodeModel 生成 java 字节码

java - 如何使用 CodeModel "generate source code"在方法内创建和初始化 hashMap

java - JCodeModel 引用未导入

java - 如何有效地使用 StringBuilder?

java - @Autowired vs @Required on setter

java - 阻止 Android Studio 隐藏/缩短代码?

Java - 注册自定义 URL 协议(protocol)处理程序

java - 如何在注释中生成/声明注释字段?

java - JAXB、XJC : Generating field to Class Outline