FileDocCategorySizeDatePackage
Annotation.javaAPI DocJava SE 5 API4665Fri Aug 26 14:57:04 BST 2005java.lang.annotation

Annotation

public interface Annotation
The common interface extended by all annotation types. Note that an interface that manually extends this one does not define an annotation type. Also note that this interface does not itself define an annotation type.
author
Josh Bloch
since
1.5

Fields Summary
Constructors Summary
Methods Summary
public java.lang.ClassannotationType()
Returns the annotation type of this annotation.

public booleanequals(java.lang.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 {@link java.util.Arrays#equals}.

return
true if the specified object represents an annotation that is logically equivalent to this one, otherwise false

public inthashCode()
Returns the hash code of this annotation, as defined below:

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 {@link String#hashCode()}) XOR the hash code of the member-value, as defined below:

The hash code of a member-value depends on its type:

  • The hash code of a primitive value v is equal to WrapperType.valueOf(v).hashCode(), where WrapperType is the wrapper type corresponding to the primitive type of v ({@link Byte}, {@link Character}, {@link Double}, {@link Float}, {@link Integer}, {@link Long}, {@link Short}, or {@link Boolean}).
  • The hash code of a string, enum, class, or annotation member-value I v is computed as by calling v.hashCode(). (In the case of annotation member values, this is a recursive definition.)
  • The hash code of an array member-value is computed by calling the appropriate overloading of {@link java.util.Arrays#hashCode(long[]) Arrays.hashCode} on the value. (There is one overloading for each primitive type, and one for object reference types.)

return
the hash code of this annotation

public java.lang.StringtoString()
Returns a string representation of this annotation. The details of the representation are implementation-dependent, but the following may be regarded as typical:
@com.acme.util.Name(first=Alfred, middle=E., last=Neuman)

return
a string representation of this annotation