public interface Annotation
AnnotatedElement
interface discusses
compatibility concerns when evolving an annotation type from being
non-repeatable to being repeatable.Modifier and Type | Method and Description |
---|---|
Class<? extends Annotation> |
annotationType()
Returns the annotation type of this annotation.
|
boolean |
equals(Object obj)
Returns true if the specified object represents an annotation
that is logically equivalent to this one.
|
int |
hashCode()
Returns the hash code of this annotation, as defined below:
|
String |
toString()
Returns a string representation of this annotation.
|
boolean equals(Object obj)
x
and y
are considered equal if x == y
,
unless their type is float
or double
.
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
.)
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
.)
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.)
x
and y
are considered equal if Arrays.equals(x, y)
, for the
appropriate overloading of Arrays.equals(long[], long[])
.
equals
in class Object
obj
- the reference object with which to compare.Object.hashCode()
,
HashMap
int hashCode()
The hash code of an annotation is the sum of the hash codes
of its members (including those with default values), as defined
below:
The hash code of an annotation member is (127 times the hash code
of the member-name as computed by String.hashCode()
) XOR
the hash code of the member-value, as defined below:
The hash code of a member-value depends on its type:
v
is equal to
WrapperType.valueOf(v).hashCode()
, where
WrapperType
is the wrapper type corresponding
to the primitive type of v
(Byte
,
Character
, Double
, Float
, Integer
,
Long
, Short
, or Boolean
).
v
is computed as by calling
v.hashCode()
. (In the case of annotation
member values, this is a recursive definition.)
Arrays.hashCode
on the value. (There is one overloading for each primitive
type, and one for object reference types.)
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
String toString()
@com.acme.util.Name(first=Alfred, middle=E., last=Neuman)
Class<? extends Annotation> annotationType()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved.
DRAFT 9-internal+0-2016-01-26-133437.ivan.openjdk9onspinwait