Java 使用不同参数测试注释的相等性
好的,假设我有如下注释:Java 使用不同参数测试注释的相等性,java,annotations,equals,Java,Annotations,Equals,好的,假设我有如下注释: @AAA(value1=“x”,value2=“x”)@AAA(value1=“y”,value2=“x”) 有没有一个官方的方法或者什么东西可以告诉我这两者是相等的(仅仅因为两者的注释都是“AAA”)?比如,忽略参数,只测试它们是否是相同类型的注释。我的意思是,在最坏的情况下,我可以将它们都转换为字符串,并在开括号之前测试所有内容,但这似乎有点不太妥当。我想您需要annotationType()然后比较返回的类 Annotation a, b; ... if (a.a
@AAA(value1=“x”,value2=“x”)@AAA(value1=“y”,value2=“x”)
有没有一个官方的方法或者什么东西可以告诉我这两者是相等的(仅仅因为两者的注释都是“AAA”)?比如,忽略参数,只测试它们是否是相同类型的注释。我的意思是,在最坏的情况下,我可以将它们都转换为字符串,并在开括号之前测试所有内容,但这似乎有点不太妥当。我想您需要annotationType()然后比较返回的类
Annotation a, b;
...
if (a.annotationType().equals(b.annotationType())) ...
在什么情况下?如果您有两个对
注释
对象的引用,您可以调用getClass()
,当然…@JonSkeet谢谢,我会试试的。我有两个注释对象。