我想创建自己的注释来初始化一个类字段。我需要这样的东西:
public class MyAnnotationClass{
Map<String,String> myMap;
public String getValue(String key) {
return myMap.get(key);
}
}
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String[] keys default {};
String[] vlaues default {};
}
public class MyClass implements MyInterface {
@MyAnnotation(keys={"a","b"},values={"A","B"})
MyAnnotationClass myAnnotationClass;
public MyAnnotationClass getMyAnnotationClass() {
return this.myAnnotationClass;
}
}
我不知道如何初始化变量,或者我错过了什么。
谢谢!
编辑: 我有点复杂。我需要以这种方式初始化它。
我也在使用Play框架
答案 0 :(得分:0)
我们需要更多信息才能更好地为您提供帮助。
一般来说,可以在编译期间从源代码或编译类处理注释,也可以在运行时处理注释。见RetentionPolicy
如果您需要在编译过程中初始化它们,那么您需要执行以下任一操作:
在这两种情况下,您都需要编写注释处理器。
在运行时,您可以使用反射初始化它们。这可能是最简单的方法。