public abstract boolean equals (Object obj)

Returns true if the specified object represents an annotation that is logically equivalent to this one. In other words, returns true if the specified object is an instance of the same annotation type as this instance, all of whose members are equal to the corresponding member of this annotation, as defined below:

- Two corresponding primitive typed members whose values are
`x`

and`y`

are considered equal if`x == y`

, unless their type is`float`

or`double`

. - Two corresponding
`float`

members whose values are`x`

and`y`

are considered equal if`Float.valueOf(x).equals(Float.valueOf(y))`

. (Unlike the`==`

operator, NaN is considered equal to itself, and`0.0f`

unequal to`-0.0f`

.) - Two corresponding
`double`

members whose values are`x`

and`y`

are considered equal if`Double.valueOf(x).equals(Double.valueOf(y))`

. (Unlike the`==`

operator, NaN is considered equal to itself, and`0.0`

unequal to`-0.0`

.) - Two corresponding
`String`

,`Class`

, enum, or annotation typed members whose values are`x`

and`y`

are considered equal if`x.equals(y)`

. (Note that this definition is recursive for annotation typed members.) - Two corresponding array typed members
`x`

and`y`

are considered equal if`Arrays.equals(x, y)`

, for the appropriate overloading of`java.util.Arrays.equals`

.

`obj` | the reference object with which to compare. |

Diagram: @Annotations