1

我正在为我的项目编写一个基于注释的框架。早些时候我在注释中传递静态文本,它工作正常。这里是示例代码:-

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,并且解析器将一个数字传递给从注释中获取的该方法。

请建议我一些更好的解决方案来解决这个问题。

4

0 回答 0