使用@StringDef为String数组定制注释

时间:2015-11-11 14:43:25

标签: java android annotations

我有以下代码:

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错误,例如:

enter image description here

现在当我将我的函数更改为String ... str我不再得到这个lint错误了。

public static void someFunc(@MyAnnotation String... str){

}

enter image description here

这样做的方法是什么?

1 个答案:

答案 0 :(得分:1)

据我所知,Varargs没有Support annotationStringDef也没有。{1}}。 StringDef仅用于String数据类型,但尚未扩展到Varargs。

该文档没有任何关于支持Varargs的内容:http://developer.android.com/reference/android/support/annotation/StringDef.html