如何在注释中获取其他属性的值

时间:2014-02-14 19:20:43

标签: java annotations

我想在注释范围内获取其他属性的值。

例如

@WebMethod(operationName = "GetBatchCount", action = NAMESPACE + getOperationName())

getOperationName()应将值设置为operationName

有可能吗?

2 个答案:

答案 0 :(得分:1)

来自JLS §9.7.1(重点是我的),以下是 element-value 对中允许的组合:

  

V的类型与T分配兼容(第5.2节),此外:

     
      
  • 如果T是基本类型或字符串,而V是常量表达式(第15.28节)。
  •   
  • V不为空。
  •   
  • 如果T是Class,或者是Class的调用,而V是 class literal (第15.8.2节)。
  •   
  • 如果T是枚举类型,则V是枚举常量
  •   

因此,正如您所看到的,价值只能是各种各样的常数。

答案 1 :(得分:0)

不,您不能在注释的参数块内使用方法。