该default ""部分在以下代码中的含义是什么?
public @interface MyAnnotation {
String[] names() default "";
}
Run Code Online (Sandbox Code Playgroud)
它等于
String[] names() default new String[0];
Run Code Online (Sandbox Code Playgroud)
?
public @interface MyAnnotation {
String[] names() default "";
}
Run Code Online (Sandbox Code Playgroud)
意味着默认情况下names将是一个空String("")的数组.
这与使用array-initializer时相同:
public @interface MyAnnotation {
String[] names() default { "" };
}
Run Code Online (Sandbox Code Playgroud)
此外,String[] names() default new String[0];不编译,因为annotation属性的(默认)值必须是常量表达式.
作为家庭作业,您可以MyAnnotation使用反射来注释某些内容并探索其属性.
| 归档时间: |
|
| 查看次数: |
562 次 |
| 最近记录: |