返回介绍

java.lang.annotation 接口 Annotation

发布于 2019-10-04 09:51:10 字数 5046 浏览 987 评论 0 收藏 0

所有已知实现类:
Deprecated, Documented, Inherited, Override, Retention, SuppressWarnings, Target

public interface Annotation

所有 annotation 类型都要扩展的公共接口。注意,手动扩展该公共接口的接口 定义 annotation 类型。还要注意此接口本身不定义 annotation 类型。

从以下版本开始:
1.5

方法摘要
Class<? extends Annotation>annotationType()

返回此 annotation 的注释类型。

booleanequals(Objectobj)

如果指定的对象表示在逻辑上等效于此接口的注释,则返回 true。

inthashCode()

返回此 annotation 的哈希码,具体说明如下:

一个 annotation 的哈希码是其成员(包括那些带有默认值的成员)的哈希码的和,具体说明如下:

annotation 成员的哈希码是成员值哈希码的 XOR(它是 String.hashCode() 计算得到的成员名哈希码的 127 倍),具体说明如下:

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

基值 v 的哈希码等于 WrapperType.valueOf(v).hashCode() ,其中 WrapperType 是对应 v 的基本类型的包装器类型( ByteCharacterDoubleFloatIntegerLongShortBoolean )。

StringtoString()

返回此 annotation 的字符串表示形式。

方法详细信息

equals

boolean equals(Objectobj)
如果指定的对象表示在逻辑上等效于此接口的注释,则返回 true。换句话说,如果指定对象是一个与此实例相同的 annotation 类型的实例,即其所有成员都与此实例中所对应的成员相等,则返回 true,具体说明如下:
  • 如果 x == y ,则认为值分别为 xy 的两个对应的基本类型成员相等,除非它们的类型是 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 。)
  • 如果 x.equals(y) 为真,则认为值分别为 xy 的两个对应的 StringClass 、enum 或 annotation 类型的成员相等。(注意,此定义对于 annotation 类型的成员是递归的。)
  • 对于适当重载的 Arrays.equals(long[], long[]) ,如果 Arrays.equals(x, y) 为真, 则认为两个对应的数组类型的成员 xy 相等。
覆盖:
Object 中的 equals
参数:
obj - 要与之比较的引用对象。
返回:
如果指定的对象表示在逻辑上等效于该接口的 annotation,则返回 true,否则返回 false
另请参见:
Object.hashCode() , Hashtable

hashCode

int hashCode()
返回此 annotation 的哈希码,具体说明如下:

一个 annotation 的哈希码是其成员(包括那些带有默认值的成员)的哈希码的和,具体说明如下:

annotation 成员的哈希码是成员值哈希码的 XOR(它是 String.hashCode() 计算得到的成员名哈希码的 127 倍),具体说明如下:

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

  • 基值 v 的哈希码等于 WrapperType.valueOf(v).hashCode() ,其中 WrapperType 是对应 v 的基本类型的包装器类型( ByteCharacterDoubleFloatIntegerLongShortBoolean )。
  • string、enum、class 或 annotation 的成员值 I 的哈希码 v 是通过调用 v.hashCode() 来计算的。(对于 annotation 成员值,这是一种递归定义。)
  • 数组成员值的哈希码是通过基于该值调用 Arrays.hashCode 的适当重载来计算的。(各种基本类型和对象引用类型分别对应一个重载。)
覆盖:
Object 中的 hashCode
返回:
此 annotation 的哈希码。
另请参见:
Object.equals(java.lang.Object) , Hashtable

toString

String toString()
返回此 annotation 的字符串表示形式。表示形式的细节取决于实现,但下面的情况是最常见的:
   @com.acme.util.Name(first=Alfred, middle=E., last=Neuman)
覆盖:
Object 中的 toString
返回:
此 annotation 的字符串表示形式

annotationType

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文