2

我正在创建自己的 doclet,并且我需要显示方法中的参数何时可以为空。为此,我想使用 javax.annotation 中的 @Nullable 注释。就像谷歌的人在这里所说的那样:

public Object myMethod(String firstName, String lastName, @Nullable Phone phone) { 
//code
}

我的 Doclet 中是否有任何方法可以获取该 Phone 参数的“可为空”注释?

4

1 回答 1

3

找到了!

Parameter 接口已经有一个漂亮的 annotations() 方法,我们可以从与该参数相关的所有注释中获取 AnnotationDesc 数组。因此,我们只需要从 MethodDoc (MethodDoc.parameters()) 中获取所需的参数,然后从该参数中获取 annotations() 方法的注释 (AnnotationDesc[] annotations = pParam.annotations();)。从那里,很容易得到与该参数相关的注释是否“可为空”(:

for(AnnotationDesc annotation : annotations) {
      if(annotation.toString().equals("@javax.annotation.Nullable")) { ...

例如。

于 2012-07-04T11:23:38.353 回答