枚举类型和字符串

时间:2014-01-25 00:01:35

标签: java string enums

我希望为每个枚举分配一个字符串,这样当在枚举上调用toString()方法时,它将返回字符串。我根据自己能够找到的内容尝试了下面的代码,但得到了一个错误:

  

RecycleCode(String)未定义。

如何将字符串分配给枚举,然后使用toString()方法返回它?

public enum RecycleCode {
    ONE("PET"), 
    TWO("HDPE"), 
    THREE("PVC"), 
    FOUR("LDPE"), 
    FIVE("PP"), 
    SIX("PS"), 
    SEVEN("OTHER"), 
    ABS("ABS");

    public String toString() {
        return name();
    }
}

2 个答案:

答案 0 :(得分:4)

您在每个枚举声明中传递String,但是您没有接受String的构造函数或者保存它的实例变量。尝试

private String name;
private RecycleCode(String name) {
    this.name = name;
}

然后,您可以在name方法中引用实例变量toString()

    return name;

答案 1 :(得分:2)

public enum RecycleCode {
ONE("PET"),
TWO("HDPE"),
THREE("PVC"),
FOUR("LDPE"),
FIVE("PP"),
SIX("PS"),
SEVEN("OTHER"),
ABS("ABS");

private String name;

public RecycleCode(String name) {
   this.name = name;
}

public String toString(){

    return name;

    }
}