クラスのメソッドの実装にCheckForNullアノテーションが存在するが、インターフェイスのメソッドの宣言には存在しない場合、FindBugsにチェックして警告させる方法はありますか?
import javax.annotation.CheckForNull;
interface Foo {
public String getBar();
}
class FooImpl implements Foo {
@CheckForNull
@Override
public String getBar() {
return null;
}
}
public class FindBugsDemo {
public static void main(String[] args) {
Foo foo = new FooImpl();
System.out.println(foo.getBar().length());
}
}
CheckForNullはFooImplにのみ存在し、Fooには存在しないため、FindBugsによって検出されなかったnullチェックが欠落しているため、アプリケーションのバグを発見しました。この問題の他のすべての場所を手動で検出したくありません。