我目前正处于一个使用Java自定义注释的项目中.我想强制我的注释的用户,final boolean b如果他用@Foo注释了方法,他必须至少声明方法参数列表中的内容.所以看起来应该是这样的:
@Foo
public void foo(final boolean b) { }
@Foo
public void bar() { } // This should result in an error
Run Code Online (Sandbox Code Playgroud)
使用我的注释处理器,我可以检索变量的类型,但不能检索最终修饰符.如果我想要检索修改器集,如下面的代码所示,虽然最终修饰符出现在参数上,但该集将始终为空.
for (VariableElement parameter : method.getParameters()) {
Set<Modifier> modifiers = parameter.getModifiers(); // This set is always empty
}
Run Code Online (Sandbox Code Playgroud)
任何想法,为什么会这样?我错过了什么吗?