站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JavaTM 2 Platform Standard Edition 5.0 API 规范中文版

Annotation (Java 2 Platform SE 5.0) - JavaTM 2 Platform Standard Edition 5.0 API 规范中文版

JavaTM 2 Platform
Standard Ed. 5.0

java.lang.annotation
接口 Annotation

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

public interface Annotation

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

从以下版本开始:
1.5

方法摘要
 Class<? extends Annotation> annotationType()
          返回此 annotation 的注释类型。
 boolean equals(Object obj)
          如果指定的对象表示在逻辑上等效于此接口的注释,则返回 true。
 int hashCode()
          返回此 annotation 的哈希码,具体说明如下: 一个 annotation 的哈希码是其成员(包括那些带有默认值的成员)的哈希码的和,具体说明如下: annotation 成员的哈希码是成员值哈希码的 XOR(它是 String.hashCode() 计算得到的成员名哈希码的 127 倍),具体说明如下: 成员值的哈希码取决于其类型: 基值 v 的哈希码等于 WrapperType.valueOf(v).hashCode(),其中 WrapperType 是对应 v 的基本类型的包装器类型(ByteCharacterDoubleFloatIntegerLongShortBoolean)。
 String toString()
          返回此 annotation 的字符串表示形式。
 

方法详细信息

equals

boolean equals(Object obj)
如果指定的对象表示在逻辑上等效于此接口的注释,则返回 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 的注释类型。


JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策