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

它显示一个警告,因为该字段值从未被读取。

要简单地跳过此警告,只需为该字段提供一个吸气剂。

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

你的意思是未读,不是未使用?虚拟机试图告诉你你正在设置一个值,但没有对它做任何事情——通常是一个错误。绝对不要使用@SuppressWarnings。修复错误(使用值)或停止跟踪变量。

于 2013-08-09T12:13:21.217 回答
0

IDE 不是在抱怨,它只是想帮助您消除remove未使用和不必要 code的。

如果你使用value某处,它会删除它warning

由于您声明 private String value; 而不使用,它正在通知您,以便您采取必要的步骤。

于 2013-08-09T12:13:58.420 回答