1

ここで何が間違っていますか?

public enum Type {
    INFO("INFO"),
    WARN("WARN"),
    ERROR("ERROR"),
    FATAL("FATAL");

    private String value;

    private Type(String aValue) {
        value = aValue;
    }
};  

ここに画像の説明を入力

値が未使用であるという警告が表示されます...

私が考えることができるのは @SupressWarnings を使用することだけですが、列挙型は初めてなので、何か間違ったことをしたかどうかをここで確認しています...何か考えはありますか?

4

5 に答える 5

5

フィールド値が読み取られないため、警告が表示されます。

この警告を単純にスキップするには、フィールドに getter を提供するだけです。

public String getValue() {
    return value;
}
于 2013-08-09T12:11:44.773 に答える
1

紛らわしい理由はわかりますが、割り当ては使用されているとは見なされません。それが発生する前に、実際に変数を式で使用する必要があります。この場合、それは、value何らかの計算を実行するためにクラス内で使用されるか、getter を作成することを意味します。いずれの場合も、変数は「使用」されます。

于 2013-08-09T12:13:23.597 に答える
0

それはあなたがそれに書いているが、決して読んでいないことを意味します。それが必要ですか ?そうでない場合は、削除できます。

于 2013-08-09T12:13:02.910 に答える
0

未使用ではなく未読ってことですか?VM は、値を設定していることを伝えようとしていますが、それに対して何もしていません。通常はバグです。@SuppressWarnings は絶対に使用しないでください。バグを修正する (値を使用する) か、変数の追跡を停止してください。

于 2013-08-09T12:13:21.217 に答える
0

IDE は文句を言っているのではありませremovecode

どこかを使えばvalue、それを取り除きwarningます。

あなたはそう宣言し private String value; 、使用していないので、必要な措置を取るよう通知しています。

于 2013-08-09T12:13:58.420 に答える