枚举属性的特殊字符

时间:2016-06-09 09:50:53

标签: java typescript

我有两个枚举,一个在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和打字稿中做到这一点?

2 个答案:

答案 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)");
  }
}

Ideone demo