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 次 |
最近记录: |