- 所有已知的实现类:
-
BeanProperty,BooleanFlag,Category,ConstructorParameters,ConstructorProperties,ContentType,DataAmount,Deprecated,Description,DescriptorKey,Documented,Enabled,Experimental,Frequency,FunctionalInterface,Generated,Inherited,JavaBean,Label,MemoryAddress,MetadataDefinition,MXBean,Name,Native,Override,Percentage,Period,Registered,Relational,Repeatable,Retention,SafeVarargs,Serial,SettingDefinition,StackTrace,SupportedAnnotationTypes,SupportedOptions,SupportedSourceVersion,SuppressWarnings,SwingContainer,Target,Threshold,Timespan,Timestamp,Transient,TransitionFrom,TransitionTo,Unsigned
public interface Annotation
所有注解接口的通用接口。请注意,手动扩展此接口的接口并不定义一个注解接口。还请注意,此接口本身并不定义一个注解接口。有关注解接口的更多信息,请参阅《Java语言规范》第9.6节。
AnnotatedElement接口讨论了从非可重复到可重复演变时的兼容性问题。
- 自:
- 1.5
-
Method Summary
Modifier and TypeMethodDescriptionClass<? extends Annotation> 返回此注解的注解接口。boolean如果指定的对象表示逻辑上等同于此注解的注解,则返回true。inthashCode()返回此注解的哈希码。toString()返回此注解的字符串表示形式。
-
Method Details
-
equals
如果指定的对象表示逻辑上等同于此注解的注解,则返回true。换句话说,如果指定的对象是与此实例具有相同注解接口的实例,且所有成员都等于此注解的相应成员,则返回true,如下所定义:- 两个对应的基本类型成员,其值为
x和y,如果x == y,则被视为相等,除非它们的类型是float或double。 - 两个对应的
float成员,其值为x和y,如果Float.valueOf(x).equals(Float.valueOf(y)),则被视为相等。(与==运算符不同,NaN被视为等于自身,而0.0f不等于-0.0f。) - 两个对应的
double成员,其值为x和y,如果Double.valueOf(x).equals(Double.valueOf(y)),则被视为相等。(与==运算符不同,NaN被视为等于自身,而0.0不等于-0.0。) - 两个对应的
String、Class、枚举或注解类型成员,其值为x和y,如果x.equals(y),则被视为相等。(请注意,对于注解类型成员,此定义是递归的。) - 两个对应的数组类型成员
x和y,如果Arrays.equals(x, y),则被视为相等,适用于Arrays.equals的适当重载。
- 两个对应的基本类型成员,其值为
-
hashCode
int hashCode()返回此注解的哈希码。注解的哈希码是其成员的哈希码之和(包括具有默认值的成员)。注解成员的哈希码是(由
String.hashCode()计算的成员名称的哈希码乘以127)异或成员值的哈希码。成员值的哈希码取决于其类型,如下所定义: -
toString
String toString()返回此注解的字符串表示形式。表示形式的细节取决于实现,但以下内容可能被视为典型:@com.example.Name(first="Duke", middle="of", last="Java")
-
annotationType
Class<? extends Annotation> annotationType()返回此注解的注解接口。- API 注意:
-
用于提供注解实现的是依赖于实现的类。因此,在注解上调用
getClass将返回一个依赖于实现的类。相比之下,此方法将可靠地返回注解的注解接口。 - 返回:
- 此注解的注解接口
- 参见:
-