Package java.lang.annotation
Interface Annotation
-
- All Known Implementing Classes:
Deprecated
,Documented
,Override
,Retention
,SuppressWarnings
,Target
public interface Annotation
Defines the interface implemented by all annotations. Note that the interface itself is not an annotation, and neither is an interface that simply extends this one. Only the compiler is able to create proper annotation types.- Since:
- 1.5
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Class<? extends Annotation>
annotationType()
Returns the type of this annotation.boolean
equals(Object obj)
Determines whether or not this annotation is equivalent to the annotation passed.int
hashCode()
Returns the hash code of this annotation.String
toString()
Returns aString
representation of this annotation.
-
-
-
Method Detail
-
annotationType
Class<? extends Annotation> annotationType()
Returns the type of this annotation.- Returns:
- A
Class
instance representing the annotation type.
-
equals
boolean equals(Object obj)
Determines whether or not this annotation is equivalent to the annotation passed. This is determined according to the following rules:-
Two annotations
x
andy
are equal if and only if they are members of the same annotation type and all the member values ofx
are equal to the corresponding member values ofy
. -
The equality of primitive member values
x
andy
is determined (in a way similar to) using the corresponding wrapper classes. For example,Integer.valueOf(x).equals(Integer.valueOf(y)
is used forint
values. Note: The behavior is identical to the==
operator for all but the floating point type, so the implementation may as well use==
in these cases for performance reasons. Only for thefloat
anddouble
types the result will be slightly different:NaN
is equal toNaN
, and-0.0
is equal to0.0
, both of which is normally not the case. -
The equality of two array member values
x
andy
is determined using the correspondingequals(x, y)
helper function inArrays
. -
The hash code for all other member values is determined by simply
calling their
equals()
method.
- Overrides:
equals
in classObject
- Parameters:
obj
- The object to compare to.- Returns:
true
ifobj
is equal to this annotation,false
otherwise.- See Also:
Object.hashCode()
-
Two annotations
-
hashCode
int hashCode()
Returns the hash code of this annotation. The hash code is determined according to the following rules:- The hash code of an annotation is the sum of the hash codes of its annotation members.
-
The hash code of an annotation member is calculated as
(0x7f * n.hashCode()) ^ v.hashCode())
, wheren
is the name of the member (as aString
) andv
its value. -
The hash code for a primitive member value is determined using
the corresponding wrapper type. For example,
Integer.valueOf(v).hashCode()
is used for anint
valuev
. -
The hash code for an array member value
v
is determined using the correspondinghashCode(v)
helper function inArrays
. -
The hash code for all other member values is determined by simply
calling their
hashCode
method.
- Overrides:
hashCode
in classObject
- Returns:
- the hash code.
- See Also:
Object.equals(java.lang.Object)
-
toString
String toString()
Returns aString
representation of this annotation. It is not strictly defined what the representation has to look like, but it usually consists of the name of the annotation, preceded by a "@". If the annotation contains field members, their names and values are also included in the result.
-
-