【问题标题】:Enum type as annotation parameter?枚举类型作为注释参数?
【发布时间】:2020-10-29 10:40:21
【问题描述】:

如何使我的框架MyAnnotation 具有用户定义的枚举类型作为参数?

喜欢@MyAnnotation(Colors.BLUE)。另一个想法较少的解决方案是@MyAnnotation(Colors.BLUE.getName())

编辑: 在枚举中是用户指定的。我试过Enum<?> value(),但没用

【问题讨论】:

标签: java class types enums annotations


【解决方案1】:

在为相关类型定义注释时,您可以显式提供枚举元素。

enum MyEnum {
    MY_ELEMENT
}
@interface MyAnnotation {

    MyEnum value();

}
@MyAnnotation(value = MyEnum.MY_ELEMENT)
class MyClass {
    
}

【讨论】:

  • 但枚举应该是用户定义的,所以注释不应该知道 MyEnum
猜你喜欢
  • 2019-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 2018-09-14
  • 2013-06-19
相关资源
最近更新 更多