可以为注解中的元素定义默认值。不需要为带有默认值的注解元素提供值。
默认值可以使用以下一般语法定义:
<modifiers> @interface <annotation type name> { <data-type> <element-name>() default <default-value>; }
关键字default
指定默认值。默认值必须是与元素的数据类型兼容的类型。
以下代码通过将minor
元素的默认值指定为0
,来创建Version
注释类型,如下所示:
public @interface Version { int major(); int minor() default 0; // zero as default value for minor }
以下代码显示注解如何使用默认值。
@Version(major=1) // minor is zero, which is its default value @Version(major=2, minor=1) // minor is 1, which is the specified value
以下代码显示如何为数组和其他数据类型指定默认值:
public @interface Version { double d() default 1.89; int num() default 1; int[] x() default { 1, 2 }; String s() default "Hello"; String[] s2() default { "abc", "xyz" }; Class c() default Exception.class; Class[] c2() default { Exception.class, java.io.IOException.class }; }