Java 如何将枚举常量声明为空白字符?

Java 如何将枚举常量声明为空白字符?,java,enums,constants,Java,Enums,Constants,我正在编写一个简单的TictaToe java程序,我想使用枚举类型声明常量X、O和EMPTY(表示一个空白)。当我编译这个程序时: enum Constants { X, O, EMPTY(' '); } 我得到一个指向空常量的错误,它说: “枚举常量中的构造函数常量不能应用于给定类型” 有没有解决这个问题的建议?这样做: public enum Constants { X("x"), O("o"), EMPTY(""); public final String

我正在编写一个简单的TictaToe java程序,我想使用枚举类型声明常量X、O和EMPTY(表示一个空白)。当我编译这个程序时:

enum Constants
{
    X, O, EMPTY(' ');
}
我得到一个指向
常量的错误,它说:

“枚举常量中的构造函数常量不能应用于给定类型”

有没有解决这个问题的建议?

这样做:

public enum Constants {
  X("x"), 
  O("o"), 
  EMPTY("");

  public final String input;

  Constants(String input) { this.input = input; }

  public String getInput() { return this.input; }
}

我认为枚举不是这样工作的。枚举不是字符串。如果要打印X、O或“”,只需创建3个枚举,检查您有哪一个,然后打印相应的字符串。谢谢,它可以工作。但是,getInput方法应该用字符串而不是int的返回类型声明。