我正在创建自己的doclet,我需要显示方法中的参数何时可以为空。为此,我想使用javax.annotation中的@Nullable注释。像谷歌人所说的here:
public Object myMethod(String firstName, String lastName, @Nullable Phone phone) {
//code
}
我的Doclet中是否有任何方法可以获取该Phone参数的“可空”注释?
答案 0 :(得分:3)
发现它!
Parameter接口已经有了一个很好的annotations()方法,我们可以从中获取与该参数相关的所有注释的AnnotationDesc数组。因此,我们只需从MethodDoc(MethodDoc.parameters())中获取所需的参数,然后从那里获取该参数的注释,其中annotations()方法(AnnotationDesc [] annotations = pParam.annotations();)。从那里,如果与该参数相关的注释是“可空的”(:
),则很容易获得for(AnnotationDesc annotation : annotations) {
if(annotation.toString().equals("@javax.annotation.Nullable")) { ...
例如。