如何检查注释的相等性?

时间:2011-07-26 06:12:52

标签: java annotations equals

您将如何实施此方法:

public boolean equal(Annotation a1, Annotation a2) {
   ...
}

示例输入():

@First(name="1", value="1"), @Second(name="1", value="1")
@First(value="2"),           @First(name="2")
@First(value="3"),           @First(value="3")
@Second(name="4", value="4), @Second(name="4", value="4")

示例输出:

false
false
true
true

正如您所看到的,equal的预期行为是明确的,类似于java中常规对象的标准equals方法的预期行为(问题是我们无法覆盖equals用于注释)。

是否存在任何库或标准实现?

2 个答案:

答案 0 :(得分:2)

Annotation的{​​{3}}不起作用吗?也许我不明白你的问题。

答案 1 :(得分:1)

如果要检查a1和a2是否是相同的注释。试试这个: a1.annotationType()。等于(a2.annotationType())

相关问题