Dau*_*aud 0 java enums overriding
我有以下枚举:
public enum Rank{
FIRST,
SECOND
}
Run Code Online (Sandbox Code Playgroud)
每当toString()在枚举上调用一个函数(或在字符串文字中使用它)时,我都希望返回FIRST_RANK(而不是字符串' FIRST ',默认情况下).如果我重写toString()函数,如:
@Override
public String toString(){
return this.toString() + "_RANK";
}
Run Code Online (Sandbox Code Playgroud)
但这显然会导致递归.问题是我需要使用toString()枚举的默认实现,并且没有toString()我可以调用的超类枚举.
只要您想要该枚举实例的名称,就应该使用该name()方法.在你的例子中:
@Override public String toString() {
return this.name() + "_RANK";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
197 次 |
| 最近记录: |