Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用不同参数测试注释的相等性_Java_Annotations_Equals - Fatal编程技术网

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谢谢,我会试试的。我有两个注释对象。