diff --git a/src/java.base/share/classes/java/lang/annotation/Annotation.java b/src/java.base/share/classes/java/lang/annotation/Annotation.java index 1921ecbc601..d186357b850 100644 --- a/src/java.base/share/classes/java/lang/annotation/Annotation.java +++ b/src/java.base/share/classes/java/lang/annotation/Annotation.java @@ -31,7 +31,7 @@ package java.lang.annotation; * an annotation type. Also note that this interface does not itself * define an annotation type. * - * More information about annotation types can be found in section 9.6 of + * More information about annotation types can be found in section {@jls 9.6} of * The Java™ Language Specification. * * The {@link java.lang.reflect.AnnotatedElement} interface discusses @@ -72,7 +72,7 @@ public interface Annotation { * *
The hash code of an annotation is the sum of the hash codes - * of its members (including those with default values), as defined - * below: + * of its members (including those with default values). * * 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 the member-value. + * The hash code of a member-value depends on its type as defined below: *
WrapperType.valueOf(v).hashCode(), where
@@ -121,7 +119,7 @@ public interface Annotation {
* of the representation are implementation-dependent, but the following
* may be regarded as typical:
*
- * @com.acme.util.Name(first=Alfred, middle=E., last=Neuman)
+ * @com.example.Name(first="Duke", middle="of", last="Java")
*
*
* @return a string representation of this annotation
@@ -130,7 +128,15 @@ public interface Annotation {
/**
* Returns the annotation type of this annotation.
+ *
+ * @apiNote Implementation-dependent classes are used to provide
+ * the implementations of annotations. Therefore, calling {@link
+ * Object#getClass getClass} on an annotation will return an
+ * implementation-dependent class. In contrast, this method will
+ * reliably return the annotation type of the annotation.
+ *
* @return the annotation type of this annotation
+ * @see Enum#getDeclaringClass
*/
Class extends Annotation> annotationType();
}