我正在创建自己的 doclet,并且需要显示方法中的参数何时可为空。为此,我想使用 javax.annotation 中的 @Nullable 注释。就像 Google 的人说的那样 here :
public Object myMethod(String firstName, String lastName, @Nullable Phone phone) {
//code
}
我的 Doclet 中是否有任何方法可以获取该 Phone 参数的“可为空”注释?
最佳答案
找到了!
Parameter接口(interface)已经有一个漂亮的annotations()方法,从中我们可以从与该参数相关的所有注释中获取AnnotationDesc数组。因此,我们只需从 MethodDoc (MethodDoc.parameters()) 中获取所需的参数,然后从该参数中获取注释(AnnotationDesc[] annotations = pParam.annotations();)。从那里,很容易知道与该参数相关的注释是否为“可为空”(:
for(AnnotationDesc annotation : annotations) {
if(annotation.toString().equals("@javax.annotation.Nullable")) { ...
例如。
关于Javadoc doclet : Get "@Nullable" annotation (javax). 如何在 doclet 中获取该注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11311041/