Java Access Enum的具体方法?

MrD*_*ler 2 java string getter enums return

我创建了一个enum:

enum Types { hi, hello, bye }
Run Code Online (Sandbox Code Playgroud)

我在每个枚举中添加了一个getter,如下所示:

enum Types {
    hi {
        String test = "From hi";
        public String getString() {
        return test;
    },
    etc.
}
Run Code Online (Sandbox Code Playgroud)

除了我不能调用"Types.hi.getString()".有没有办法做到这一点?谢谢!

Urs*_*pke 8

在枚举类中,定义要访问的方法public abstract.

像这样:

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

      public abstract String getString();
  }
Run Code Online (Sandbox Code Playgroud)

作为替代方案,让你的枚举类实现一个接口:

public interface StringProvider {
     String getString();
}

public enum Types implements StringProvider {
  ...
}
Run Code Online (Sandbox Code Playgroud)