有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java:使枚举绑定到不同的字符串值

所以我有类似的东西

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将Enum转换为字符串时,有没有办法更改默认行为


共 (3) 个答案

  1. # 1 楼答案

    将这个toString()方法添加到枚举中

    public String toString() {
        return getCode();
    }
    
  2. # 2 楼答案

    I know Enum does not have toString method

    它确实有a toString method像任何Object一样,你可以覆盖它

  3. # 3 楼答案

    当然。重写toString()函数

    public String toString() {
      return code;
    }