1

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

これを使用して得られるコードは次のとおりです。 Object obj = new GenericEntity>(listStr)

しかし、「{}」がありません。

誰でもここで私を助けることができますか? {}で取得できるようにコードを作成する方法:

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

1 に答える 1

0

このメソッド ( 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));
于 2015-09-10T21:50:05.013 に答える