默认情况下将 Java 枚举打印为小写,将枚举常量保留为大写
我在Java中有一个枚举,我想序列化,这样当我从代码中的任何位置调用它时,我得到名称的小写表示。
假设我有以下枚举:
public enum Status {
DRAFT, PENDING, COMPLETE;
}
println ("Status=" + Status.DRAFT);
我想得到以下内容:
Status=draft
[注意]:我想使用大写的枚举常量,并且在请求值时获得小写表示形式。
我在Java中有一个枚举,我想序列化,这样当我从代码中的任何位置调用它时,我得到名称的小写表示。
假设我有以下枚举:
public enum Status {
DRAFT, PENDING, COMPLETE;
}
println ("Status=" + Status.DRAFT);
我想得到以下内容:
Status=draft
[注意]:我想使用大写的枚举常量,并且在请求值时获得小写表示形式。
我自己回答这个问题,因为我发现解决方案很有趣,无法在网站上找到回复。以防万一其他人正在寻找解决此问题的方法。
解决方案很简单,只需覆盖Enum toString方法,如下所示:
public enum Status {
DRAFT, PENDING, COMPLETE;
@Override
public String toString() {
return name().toLowerCase();
}
}
println ("Status=" + Status.DRAFT);
这将以小写形式输出名称。
另一种解决方案可能是:
public enum Status {
DRAFT, PENDING, COMPLETE;
public String nameLowerCase(){
return name().toLowerCase();
}
}