2

CodeModel を使用して Java コードを生成します。次のような出力が期待されます。

public static final String[] COLUMNS = {ID, CODE, NAME};

私は試した:

definedClass.field(JMod.PUBLIC|JMod.STATIC|JMod.FINAL, String[].class, fieldName, JExpr.newArray(codeModel.ref(String.class)));

しかし、配列に値を「追加」する方法がわかりません。

4

1 に答える 1

2

JExpr.newArray() は JArray を返し、JArray.add() を使用して JExpression インスタンスを初期化子に追加できます。ID、CODE、および NAME がローカル フィールドの JExpression インスタンスであると仮定すると、次のようになります。

JExpr.newArray(codeModel.ref(String.class)).add(ID).add(CODE).add(NAME)

生成されます:

new String[]{ID, CODE, NAME}
于 2013-06-08T01:00:39.377 に答える