我想为一些方法生成的一些值提供注释。
到目前为止我试过这个:
public @interface MyInterface {
String aString();
}
@MyInterface(aString = MyClass.GENERIC_GENERATED_NAME)
public class MyClass {
static final String GENERIC_GENERATED_NAME = MyClass.generateName(MyClass.class);
public static final String generateName(final Class<?> c) {
return c.getClass().getName();
}
}
想法GENERIC_GENERATED_NAME
是static final
,它抱怨说
注释属性的值
MyInterface.aString
必须是常量表达式
那么如何实现呢?