- 所有已知的实现类:
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
所有注解扩展的公共接口。请注意,手动扩展此接口的接口确实not定义注解接口。另请注意,此接口本身并未定义注释接口。有关注释接口的更多信息,请参阅第 9.6 节Java 语言规范
AnnotatedElement 接口讨论了将注解接口从不可重复演变为可重复时的兼容性问题。
- 自从:
- 1.5
-
方法总结
修饰符和类型方法描述Class<? extends Annotation>返回该注解的注解。boolean如果指定的对象表示在逻辑上等同于此注释的注释,则返回 true。inthashCode()返回此注释的哈希码。toString()返回此注释的字符串表示形式。
-
方法详情
-
equals
如果指定的对象表示在逻辑上等同于此注释的注释,则返回 true。换句话说,如果指定对象是与此实例相同的注解的实例,则返回 true,其所有成员都等于此注解的相应成员,定义如下:- 如果
x == y值为x和y的两个相应原始类型成员被认为是相等的,除非它们的类型是float或double。 - 如果
Float.valueOf(x).equals(Float.valueOf(y)),则两个相应的float成员的值为x和y被认为是相等的。 (与==运算符不同,NaN 被认为等于自身,而0.0f不等于-0.0f。) - 如果
Double.valueOf(x).equals(Double.valueOf(y)),则两个相应的double成员的值为x和y被认为是相等的。 (与==运算符不同,NaN 被认为等于自身,而0.0不等于-0.0。) - 如果
x.equals(y),则两个相应的String、Class、枚举或注释类型成员的值是x和y被认为是相等的。 (请注意,此定义对于注释类型成员是递归的。) - 两个相应的数组类型成员
x和y如果Arrays.equals(x, y)被认为是相等的,用于Arrays.equals的适当重载。
- 如果
-
hashCode
int hashCode()返回此注释的哈希码。注解的哈希码是其成员(包括具有默认值的成员)的哈希码之和。注解成员的散列码是(由
String.hashCode()计算的成员名散列码的 127 倍)XOR 成员值的散列码。成员值的哈希码取决于其定义如下的类型: -
toString
String toString()返回此注释的字符串表示形式。表示的细节是依赖于实现的,但以下可能被认为是典型的:@com.example.Name(first="Duke", middle="of", last="Java")
-
annotationType
Class <? extends Annotation > annotationType()返回该注解的注解。- API 注意:
-
依赖于实现的类用于提供注释的实现。因此,在注释上调用
getClass将返回一个依赖于实现的类。相比之下,这个方法会可靠地返回注解的注解接口。 - 返回:
- 该注解的注解
- 参见:
-