我想多次重复使用一堆相同的注解。但问题是我不能通过应用它们来创建另一个注解(因为它们缺少@Target({ElementType.ANNOTATION_TYPE}),而且我不能更改它)
例如,为了更好地理解,我有一个operand
@XmlElements({
@XmlElement(name = "element1", type = Element1.class),
@XmlElement(name = "element2", type = Element2.class),
@XmlElement(name = "element3", type = Element3.class)
})
private MyOperand operand;
但另一个类在其字段上有完全相同的注解
@XmlElements({
@XmlElement(name = "element1", type = Element1.class),
@XmlElement(name = "element2", type = Element2.class),
@XmlElement(name = "element3", type = Element3.class)
})
private List<MyOperand> operands;
我想到的最好的方法是用这个字段和至少两个类的注解(在我的例子中是3个)创建一个基类,这两个类都有List<MyOperand>
。还有更好的办法吗?
1条答案
按热度按时间vm0i2vca1#
注解可以采用参数列表。但是,参数不是动态的,一旦定义,就不能添加或更改
该列表是静态的,您必须定义
MyClass
的子类型(或其他),以便在每个子类型上创建不同的myList
。