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 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 and y are equal if and only if they are members of the same annotation type and all the member values of x are equal to the corresponding member values of y.
        • The equality of primitive member values x and y is determined (in a way similar to) using the corresponding wrapper classes. For example, Integer.valueOf(x).equals(Integer.valueOf(y) is used for int 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 the float and double types the result will be slightly different: NaN is equal to NaN, and -0.0 is equal to 0.0, both of which is normally not the case.
        • The equality of two array member values x and y is determined using the corresponding equals(x, y) helper function in Arrays.
        • The hash code for all other member values is determined by simply calling their equals() method.
        Overrides:
        equals in class Object
        Parameters:
        obj - The object to compare to.
        Returns:
        true if obj is equal to this annotation, false otherwise.
        See Also:
        Object.hashCode()
      • 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()), where n is the name of the member (as a String) and v 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 an int value v.
        • The hash code for an array member value v is determined using the corresponding hashCode(v) helper function in Arrays.
        • The hash code for all other member values is determined by simply calling their hashCode method.
        Overrides:
        hashCode in class Object
        Returns:
        the hash code.
        See Also:
        Object.equals(java.lang.Object)
      • toString

        String toString()
        Returns a String 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.
        Overrides:
        toString in class Object
        Returns:
        the String that represents this annotation.