我有以下代码:
public static final String MY_CONSTANT_A = "A";
public static final String MY_CONSTANT_B = "B";
@StringDef(value={
MY_CONSTANT_A,
MY_CONSTANT_B
})
private @interface MyAnnotation{}
public static void someFunc(@MyAnnotation String str){
}
现在,当我尝试在 someFunc 中使用字符串时,我得到了下一个异常的 lint 错误:
现在,当我将函数更改为 String ... str 时,我不再收到此 lint 错误。
public static void someFunc(@MyAnnotation String... str){
}
有什么方法可以做到这一点?
最佳答案
据我所知,Varargs 没有Support annotation
,StringDef
也没有这样做。 StringDef
仅适用于 String
数据类型,尚未扩展到 Varargs。
文档没有关于支持 Varargs 的内容:http://developer.android.com/reference/android/support/annotation/StringDef.html
关于java - String 数组的 @StringDef 自定义注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33652955/