我正在为我的项目编写一个基于注释的框架。早些时候我在注释中传递静态文本,它工作正常。这里是示例代码:-
public class MyClass{
@myannotation(name="Hello World")
private int variable;
@myannotation(name="Again Hi")
private int variable1;
}
由于一些变化,我需要使用从方法中获取其值的最终变量。我知道注释不能采用动态值。所以我现在做一个修复。我在名称值中传递了一个数字,并且在解析注释时以预定义的方法传递该数字,并根据该数字返回该值。这是代码片段:-
public class MyClass{
private static final String finalVar1 = getValue("Hello World");
private static final String finalVar2 = getValue("Again Hi");
@myannotation(name="1")
private int variable;
@myannotation(name="2")
private int variable2;
public String getConvetedValue(String value){
if(value!=null && value.equals("1")){
return finalVar1;
}else if(value!=null && value.equals("2")){
return finalVar2;
}
}
}
因此,在上面的示例中,使用反射从注释解析器调用 getConvertedValue,并且解析器将一个数字传递给从注释中获取的该方法。
请建议我一些更好的解决方案来解决这个问题。