Module java.base

Interface Annotation

所有已知的实现类:
BeanProperty, BooleanFlag, Category, ConstructorParameters, ConstructorProperties, ContentType, DataAmount, Deprecated, Description, DescriptorKey, Documented, Enabled, Experimental, Frequency, FunctionalInterface, Generated, Inherited, JavaBean, Label, MemoryAddress, MetadataDefinition, MXBean, Name, Native, Override, Percentage, Period, Registered, Relational, Repeatable, Retention, SafeVarargs, Serial, SettingDefinition, StackTrace, SupportedAnnotationTypes, SupportedOptions, SupportedSourceVersion, SuppressWarnings, SwingContainer, Target, Threshold, Timespan, Timestamp, Transient, TransitionFrom, TransitionTo, Unsigned

public interface Annotation
所有注解接口的通用接口。请注意,手动扩展此接口的接口并不定义一个注解接口。还请注意,此接口本身并不定义一个注解接口。有关注解接口的更多信息,请参阅《Java语言规范》第9.6节。 AnnotatedElement接口讨论了从非可重复到可重复演变时的兼容性问题。
自:
1.5
  • Method Summary

    Modifier and Type
    Method
    Description
    Class<? extends Annotation>
    返回此注解的注解接口。
    boolean
    equals(Object obj)
    如果指定的对象表示逻辑上等同于此注解的注解,则返回true。
    int
    返回此注解的哈希码。
    返回此注解的字符串表示形式。
  • Method Details

    • equals

      boolean equals(Object obj)
      如果指定的对象表示逻辑上等同于此注解的注解,则返回true。换句话说,如果指定的对象是与此实例具有相同注解接口的实例,且所有成员都等于此注解的相应成员,则返回true,如下所定义:
      • 两个对应的基本类型成员,其值为xy,如果x == y,则被视为相等,除非它们的类型是floatdouble
      • 两个对应的float成员,其值为xy,如果Float.valueOf(x).equals(Float.valueOf(y)),则被视为相等。(与==运算符不同,NaN被视为等于自身,而0.0f不等于-0.0f。)
      • 两个对应的double成员,其值为xy,如果Double.valueOf(x).equals(Double.valueOf(y)),则被视为相等。(与==运算符不同,NaN被视为等于自身,而0.0不等于-0.0。)
      • 两个对应的StringClass、枚举或注解类型成员,其值为xy,如果x.equals(y),则被视为相等。(请注意,对于注解类型成员,此定义是递归的。)
      • 两个对应的数组类型成员xy,如果Arrays.equals(x, y),则被视为相等,适用于Arrays.equals的适当重载。
      覆盖:
      equals 在类 Object
      参数:
      obj - 用于比较的参考对象。
      返回:
      如果指定的对象表示逻辑上等同于此注解的注解,则返回true,否则返回false
      参见:
    • hashCode

      int hashCode()
      返回此注解的哈希码。

      注解的哈希码是其成员的哈希码之和(包括具有默认值的成员)。注解成员的哈希码是(由String.hashCode()计算的成员名称的哈希码乘以127)异或成员值的哈希码。成员值的哈希码取决于其类型,如下所定义:

      • 基本值v的哈希码等于WrapperType.valueOf(v).hashCode(),其中WrapperType是与v的基本类型对应的包装类型(ByteCharacterDoubleFloatIntegerLongShortBoolean)。
      • 字符串、枚举、类或注解成员值v的哈希码通过调用v.hashCode()计算。(对于注解成员值,这是一个递归定义。)
      • 数组成员值的哈希码通过在值上调用适当的Arrays.hashCode进行计算。(每种基本类型都有一个重载,以及一个用于对象引用类型的重载。)
      覆盖:
      hashCode 在类 Object
      返回:
      此注解的哈希码
      参见:
    • toString

      String toString()
      返回此注解的字符串表示形式。表示形式的细节取决于实现,但以下内容可能被视为典型:
         @com.example.Name(first="Duke", middle="of", last="Java")
       
      覆盖:
      toString 在类 Object
      返回:
      此注解的字符串表示形式
    • annotationType

      Class<? extends Annotation> annotationType()
      返回此注解的注解接口。
      API 注意:
      用于提供注解实现的是依赖于实现的类。因此,在注解上调用getClass将返回一个依赖于实现的类。相比之下,此方法将可靠地返回注解的注解接口。
      返回:
      此注解的注解接口
      参见: