我有两个枚举,一个在java
private enum MyEnum{
enum1,
enum2,
enum3;
public String traduction() {
return Messages.get(this.toString());
}
}
和typeScript上的相同
import {Enum} from "../../enum";
export class MyEnum extends Enum {
static enum1 = new MyEnum('enum1');
static enum2 = new MyEnum('enum2');
static enum3 = new MyEnum('enum3');
}
我需要在我的枚举中的元素上添加特殊字符,以便显示如下内容:
enum(1)
枚举(2)
enum3
我怎样才能在JAVA和打字稿中做到这一点?
答案 0 :(得分:2)
您可以按如下方式修改MyEnum
:
private enum MyEnum {
enum1("enum(1)"),
enum2("enum(2)"),
enum3("enum3");
String description;
public String toString() {
return this.description;
}
public MyEnum(String description) {
this.description = description;
}
public String traduction() {
return Messages.get(this.toString());
}
}
OR
private enum MyEnum {
enum1("enum(1)"),
enum2("enum(2)"),
enum3;
String description;
public String toString() {
return this.description;
}
public MyEnum(String description) {
this.description = description;
}
public MyEnum() {
this.description = super.toString();
}
public String traduction() {
return Messages.get(this.toString());
}
}
答案 1 :(得分:0)
无法回答Typescript,但在Java中你可以简单地覆盖toString()
方法,例如
enum MyEnum {
enum1, enum2, enum3;
@Override
public String toString() {
return super.toString().replaceAll("(.*)(\\d+)", "$1($2)");
}
}