public enum Batman
{
Rat, Cat, Bat;
private boolean isMatch;
// Constructor
Batman()
{
this.isMatch = (this.compareTo(Bat) == 0) ? true : false;
}
public boolean isMatch()
{
return this.isMatch;
}
}
对于构造函数行,我收到错误:无法在初始化程序中引用静态枚举字段 Batman.Bat
我主要想弄清楚是否可以在构造函数中识别特定的 ENUM。
另外我想保存“isMatch”值的原因是我不想每次都评估它应该是什么。我从一开始就知道,所以我只想保存值,因此当调用时它不是评估,而只是将值传回
我知道还有其他方法可以解决这个问题:
修改构造函数以接受参数:
老鼠(假),猫(假),蝙蝠(真);
// Constructor Batman(boolean isMatch) { this.isMatch = isMatch; }
更改 isMatch()
public boolean isMatch() { return (this.compareTo(Bat) == 0) ? true : false; }
任何建议都会很棒。
谢谢