fly*_*ire 61 java annotations metaprogramming
我定义了自己的自定义注释
@Target(value={ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyCustomAnnotation {
Class<?> myType();
}
Run Code Online (Sandbox Code Playgroud)
如何,如果有的话,我可以使属性可选
Dan*_*yer 96
@Target(value={ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyCustomAnnotation {
Class<?> myType() default Object.class;
}
Run Code Online (Sandbox Code Playgroud)
找到了。它不能是可选的,但可以像这样声明默认值:
@Target(value={ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyCustomAnnotation {
Class<?> myType() default String.class;
}
Run Code Online (Sandbox Code Playgroud)
如果没有默认值可以作为“空”值有意义,那么这是一个问题。
归档时间: |
|
查看次数: |
55402 次 |
最近记录: |