模块 java.base

接口 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
所有注解扩展的公共接口。请注意,手动扩展此接口的接口确实not定义注解接口。另请注意,此接口本身并未定义注释接口。有关注释接口的更多信息,请参阅第 9.6Java 语言规范AnnotatedElement 接口讨论了将注解接口从不可重复演变为可重复时的兼容性问题。
自从:
1.5
  • 方法总结

    修饰符和类型
    方法
    描述
    Class<? extends Annotation>
    返回该注解的注解。
    boolean
    equals(Object obj)
    如果指定的对象表示在逻辑上等同于此注释的注释,则返回 true。
    int
    返回此注释的哈希码。
    返回此注释的字符串表示形式。
  • 方法详情

    • equals

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

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

      注解的哈希码是其成员(包括具有默认值的成员)的哈希码之和。注解成员的散列码是(由String.hashCode() 计算的成员名散列码的 127 倍)XOR 成员值的散列码。成员值的哈希码取决于其定义如下的类型:

      • 原始值的哈希码v 等于 WrapperType.valueOf(v).hashCode() ,其中WrapperType 是对应于原始类型的包装器类型v Byte Character Double Float Integer Long Short Boolean )。
      • 字符串、枚举、类或注解成员值的哈希码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 将返回一个依赖于实现的类。相比之下,这个方法会可靠地返回注解的注解接口。
      返回:
      该注解的注解
      参见: