Java注解默认值

Java注解默认值

可以为注解中的元素定义默认值。不需要为带有默认值的注解元素提供值。
默认值可以使用以下一般语法定义:

<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 };
}