我希望为每个枚举分配一个字符串,这样当在枚举上调用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();
}
}
答案 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;
}
}