Module  java.base
软件包  java.lang.annotation

Interface Annotation

    • 方法详细信息

      • 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 ,enum或annotation类型的成员的值是xy被认为是相等如果x.equals(y) (请注意,此定义对于注释类型的成员是递归的。)
        • 两个对应的数组类型的成员xy被认为是相等的,如果是Arrays.equals(x, y) ,为适当的超载Arrays.equals(long[], long[])
        重写:
        equalsObject
        参数
        obj - 与之比较的参考对象。
        结果
        如果指定的对象表示逻辑上等同于该注释的注释,则为true,否则为false
        另请参见:
        Object.hashCode()HashMap
      • hashCode

        int hashCode​()
        返回此注释的哈希码,定义如下:

        注释的哈希码是其成员的哈希码(包括具有默认值的哈希码)的和,如下所定义:注释成员的哈希码是(127位的成员名称的哈希码,由String.hashCode() )XOR是成员值的哈希码,如下定义:

        成员值的哈希码取决于其类型:

        • 原始值的哈希码v等于WrapperType.valueOf(v).hashCode() ,其中WrapperType是相应于原语类型的包装类型vByteCharacterDoubleFloatIntegerLongShort ,或Boolean )。
        • 字符串,枚举,类或注释成员值I v的哈希码通过调用v.hashCode()计算。 (在注释成员值的情况下,这是递归定义。)
        • 数组成员值的哈希码是通过调用的适当重载计算Arrays.hashCode上的值。 (每个基本类型有一个重载,一个用于对象引用类型)。
        重写:
        hashCodeObject
        结果
        该注释的哈希码
        另请参见:
        Object.equals(java.lang.Object)System.identityHashCode(java.lang.Object)
      • toString

        String toString​()
        返回此注释的字符串表示形式。 表示的细节依赖于实现,但以下可能被认为是典型的:
          @com.acme.util.Name(first=Alfred, middle=E., last=Neuman) 
        重写:
        toStringObject
        结果
        此注释的字符串表示形式
      • annotationType

        Class<? extends Annotation> annotationType​()
        返回此注释的注释类型。
        结果
        此注释的注释类型