我在JAVA中有一个ENUM我想序列化,所以当我从代码中的任何地方调用它时,我得到名称的小写表示.
假设我有以下枚举:
public enum Status {
DRAFT, PENDING, COMPLETE;
}
println ("Status=" + Status.DRAFT);
Run Code Online (Sandbox Code Playgroud)
我想得到以下内容:
Status=draft
Run Code Online (Sandbox Code Playgroud)
[注意]:我想以大写形式使用枚举常量,并在请求值时获取小写表示.
spa*_*ker 43
我自己回答这个问题,因为我发现解决方案很有趣,但在网站上找不到回复.以防其他人寻找解决方法.
解决方案很简单,只需覆盖Enum toString方法,如下所示:
public enum Status {
DRAFT, PENDING, COMPLETE;
@Override
public String toString() {
return name().toLowerCase();
}
}
println ("Status=" + Status.DRAFT);
Run Code Online (Sandbox Code Playgroud)
这将以小写形式输出名称.
Lor*_*uto 11
另一个解决方案是:
public enum Status {
DRAFT, PENDING, COMPLETE;
public String nameLowerCase(){
return name().toLowerCase();
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想要小写,你可以使用小写,或混合大小写,或任何更有意义的你.
public enum Status {
draft, pending, complete;
}
println ("Status=" + Status.draft);
Run Code Online (Sandbox Code Playgroud)
版画
Status=draft
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21367 次 |
| 最近记录: |