0
我們正在使用JDT生成Java源代碼。我們被困在生成類本身的註釋類如下:如何使用JDT爲類級別註釋生成多個值
@SomeAnnotation({Class1.class, Class2.class})
請讓我知道這是如何實現的。我正在使用NormalAnnotation類,但無法相應地設置表達式。雖然可以設置字符串文字,但Class不可以。
我們正在使用JDT生成Java源代碼。我們被困在生成類本身的註釋類如下:如何使用JDT爲類級別註釋生成多個值
@SomeAnnotation({Class1.class, Class2.class})
請讓我知道這是如何實現的。我正在使用NormalAnnotation類,但無法相應地設置表達式。雖然可以設置字符串文字,但Class不可以。
我能做到這一點使用NormalAnnotation類,這裏是代碼:
//值包含的類名稱。
NormalAnnotation normalAnnotation = ast.newNormalAnnotation();
Name name = ast.newName(annotationName);
normalAnnotation.setTypeName(name);
ArrayInitializer arrayInit = ast.newArrayInitializer();
for(String value : values){
TypeLiteral tL = ast.newTypeLiteral();
tL.setType(ast.newSimpleType(ast.newName(value)));
arrayInit.expressions().add(tL);
}
MemberValuePair memberValuePair = ast.newMemberValuePair();
memberValuePair.setName(ast.newSimpleName("value"));
memberValuePair.setValue(arrayInit);
normalAnnotation.values().add(memberValuePair);