模块  java.base
软件包  java.lang.annotation

Interface Annotation

    • 方法详细信息

      • equals

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

        int hashCode()
        返回此批注的哈希码,如下所示:

        注释的哈希码是其成员的哈希码的总和(包括具有默认值的哈希码)的总和,如下所述:注释成员的哈希码是(由计算的成员名的哈希码的127倍) String.hashCode() )XOR成员值的哈希码,如下所示:

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

        • 原始值的哈希码v等于WrapperType.valueOf(v).hashCode() ,其中WrapperType是相应于原语类型的包装类型vByteCharacterDoubleFloatIntegerLongShort ,或Boolean )。
        • 通过调用v.hashCode()来计算字符串,枚举,类或注释成员值I v的哈希码。 (在注释成员值的情况下,这是一个递归定义。)
        • 通过在值上调用适当的重载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

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