Eclipse プロジェクトで FindBugs を実行したところ、特定の理由 (この質問のコンテキスト外) で抑制したい潜在的なバグ警告が表示されました。コードは次のとおりです。
public class LogItem {
private String name;
private void setName(final String nm) {
name = nm;
}
}
このクラスで FindBugs を実行すると、name = nm
割り当て操作に関する警告が表示されますUnread field: com.me.myorg.LogItem.name
。
だから私はこれを追加しようとしました:
private void setName(final String nm) {
@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "NP", justification = "Because I can")
name = nm;
}
これを行うと、Eclipse で次のような構文 (コンパイル) エラーが発生します。
ローカル変数 nm が重複しています。名前を型に解決できません。
そこでSuppressWarnings
、フィールド自体に FindBugs を追加しようとしましたが、クラスで FindBugs を再実行した後でも、FindBugs は同じコード行について同じ理由で不平を言っています。メソッドにを追加してみましたSuppressWarnings
が、それでも違いはありません。setName
FindBugs を鎮めるためにこの注釈をどのように (正確に!) 使用すればよいでしょうか?!?