Annotation

王朝百科·作者佚名  2010-01-10  
宽屏版  字体: |||超大  

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 的基本类型的包装器类型(Byte、Character、Double、Float、Integer、Long、Short 或 Boolean)。

String toString()

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

方法详细信息

equals

boolean equals(Object obj)如果指定的对象表示在逻辑上等效于此接口的注释,则返回 true。换句话说,如果指定对象是一个与此实例相同的 annotation 类型的实例,即其所有成员都与此实例中所对应的成员相等,则返回 true,具体说明如下:

如果 x == y,则认为值分别为 x 和 y 的两个对应的基本类型成员相等,除非它们的类型是 float 或 double。

如果 Float.valueOf(x).equals(Float.valueOf(y)) 为真,则认为值分别为 x 和 y 的两个对应的 float 成员相等。(与 == 运算符不同,NaN 被认为等于其自身,并且 0.0f 不等于 -0.0f。)

如果 Double.valueOf(x).equals(Double.valueOf(y)) 为真,则认为值分别为 x 和 y 的两个对应的 double 成员相等。(与 == 运算符不同,NaN 被认为等于其自身,并且 0.0 不等于 -0.0。)

如果 x.equals(y) 为真,则认为值分别为 x 和 y 的两个对应的 String、Class、enum 或 annotation 类型的成员相等。(注意,此定义对于 annotation 类型的成员是递归的。)

对于适当重载的 Arrays.equals(long[], long[]),如果 Arrays.equals(x, y) 为真, 则认为两个对应的数组类型的成员 x 和 y 相等。

覆盖:

类 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 的基本类型的包装器类型(Byte、Character、Double、Float、Integer、Long、Short 或 Boolean)。

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 的注释类型。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有