枚举属性上的特殊字符



我有两个枚举,一个在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');
}

我需要在我的枚举中的元素上添加特殊字符,以便显示如下内容:

枚举(1)
枚举(2)
枚举3

如何在 JAVA 和打字稿中做到这一点?

您可以

按如下方式编辑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());
    }
}

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());
    }
}

无法回答 Typescript,但在 Java 中您可以简单地覆盖 toString() 方法,例如

enum MyEnum {
  enum1, enum2, enum3;
  @Override
  public String toString() {
    return super.toString().replaceAll("(.*)(\d+)", "$1($2)");
  }
}

Ideone demo

最新更新