Java:使Enum绑定到不同的String值

时间:2012-06-01 15:18:24

标签: java enums

所以我有类似的东西

public enum DataType {

    RECORD_TYPE("0"),
    ...

    private String code;

    private DataType(String code){
         this.code = code;
    }

    public String getCode() {
         return code;
    }
}

所以当我做的时候

System.out.println(DataType.RECORD_TYPE);

打印出字符串RECORD_TYPE,但是我希望打印出来0,我不想这样做

System.out.println(DataType.RECORD_TYPE.getCode());

因为我觉得用户很可能忘记把getCode()放进去。我知道Enum没有toString方法,有没有办法让我改变java转换时的默认行为枚举到字符串?

3 个答案:

答案 0 :(得分:5)

  

我知道Enum没有toString方法

实际上a toString method与任何Object一样,您可以覆盖它。

答案 1 :(得分:3)

不确定。覆盖toString()功能。

public String toString() {
  return code;
}

答案 2 :(得分:2)

将此toString()方法添加到您的枚举

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