Java Access Enum的具体方法?

标签 java string enums return getter

我已经创建了一个枚举:

enum Types { hi, hello, bye }

我在每个单独的枚举中添加了一个 setter/getter ,如下所示:

enum Types {
    hi {
        String test = "From hi";
        public String getString() {
        return test;
    },
    etc.
}

除了我无法调用“Types.hi.getString()”。有什么办法可以做到这一点吗?谢谢!

最佳答案

在枚举类中,将要访问的方法定义为公共(public)抽象

像这样:

 enum Types {
      hi {
        public String getString() {
          return "From hi";
        }
      };

      public abstract String getString();
  }

作为替代方案,让您的枚举类实现一个接口(interface):

public interface StringProvider {
     String getString();
}

public enum Types implements StringProvider {
  ...
}

关于Java Access Enum的具体方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10055848/

相关文章:

java - 查找泛型数组中的最大元素及其位置,并返回包含两者的数组

java - 使用 + 运算符分配字符串内存

node.js:压缩字符串

java - 尝试使用 Maven 在 JOOQ 中实现 EnumConverter 时出错

java - 在 Java 中使用枚举创建构造函数

c# - 空旗是坏习惯吗?

java - 如何扩展可用 Java 语言环境列表

java - Java Primitive 的父类(super class)(或)类定义?

java - JavaFrame 在 Matlab 中有什么作用?

c# - 将json字符串转换为字符串数组