如何为自己的注释创建可选参数?

时间:2010-08-19 09:25:48

标签: java annotations

以下是注释代码

public @interface ColumnName {
   String value();
   String datatype();
 }

我想让datatype成为可选参数,例如

@ColumnName(value="password") 

应该是有效的代码。

2 个答案:

答案 0 :(得分:111)

似乎official documentation中的第一个例子说明了一切......

/**
 * Describes the Request-For-Enhancement(RFE) that led
 * to the presence of the annotated API element.
 */
public @interface RequestForEnhancement {
    int    id();
    String synopsis();
    String engineer() default "[unassigned]"; 
    String date()     default "[unimplemented]"; 
}

答案 1 :(得分:31)

要使其成为可选项,您可以为其指定一个默认值:

public @interface ColumnName {
   String value();
   String datatype() default "String";
 }

然后在使用注释时不需要指定。