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

Tha*_*ham 0 java enums

所以我有这样的事情

public enum DataType {

    RECORD_TYPE("0"),
    ...

    private String code;

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

    public String getCode() {
         return code;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,当我这样做

System.out.println(DataType.RECORD_TYPE);
Run Code Online (Sandbox Code Playgroud)

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

System.out.println(DataType.RECORD_TYPE.getCode());
Run Code Online (Sandbox Code Playgroud)

因为我觉得用户很可能忘记把它getCode()放入.我知道Enum没有toString方法,有没有办法让我在java将Enum转换为String时更改默认行为?

ass*_*ias 5

我知道Enum没有toString方法

它实际上有一个像任何Objects 一样的toString方法,你可以覆盖它.