创建字符串枚举的最佳方式?

2022-08-31 04:38:07

让类型表示一组字符串的最佳方法是什么?enum

我试过这个:

enum Strings{
   STRING_ONE("ONE"), STRING_TWO("TWO")
}

然后我怎么能使用它们作为?Strings


答案 1

我不知道你想做什么,但这就是我实际翻译你的示例代码的方式。

package test;

/**
 * @author The Elite Gentleman
 *
 */
public enum Strings {
    STRING_ONE("ONE"),
    STRING_TWO("TWO")
    ;

    private final String text;

    /**
     * @param text
     */
    Strings(final String text) {
        this.text = text;
    }

    /* (non-Javadoc)
     * @see java.lang.Enum#toString()
     */
    @Override
    public String toString() {
        return text;
    }
}

或者,也可以为 创建 getter 方法。text

您现在可以做Strings.STRING_ONE.toString();


答案 2

枚举的自定义字符串值

http://javahowto.blogspot.com/2006/10/custom-string-values-for-enum.html 相比

java 枚举的默认字符串值是其面值或元素名称。但是,您可以通过重写 toString() 方法自定义字符串值。例如

public enum MyType {
  ONE {
      public String toString() {
          return "this is one";
      }
  },

  TWO {
      public String toString() {
          return "this is two";
      }
  }
}

运行以下测试代码将生成此结果:

public class EnumTest {
  public static void main(String[] args) {
      System.out.println(MyType.ONE);
      System.out.println(MyType.TWO);
  }
}


this is one
this is two