我刚刚开始学习Java,我正在开发一个简单的应用程序,它可以与一副牌一起工作。目前,我正在尝试用枚举实例化一个Suit类。我想使用EnumSet功能,但我真的很难理解这里发生的事情。
我看过几个例子,我相信我只是没有完全理解语法。
到目前为止我的情况是这样的。我想要的是一个EnumSet,它包含每个Suit卡(俱乐部、钻石、红桃、黑桃)的价值。
public class Suits {
public enum Suit {
CLUBS("Clubs"),
DIAMONDS("Diamonds"),
HEARTS("Hearts"),
SPADES("Spades");
private String displayText;
Suit(String displayText) {
this.displayText = displayText;
}
public String getDisplayText() {
return this.displayText;
}
}
final EnumSet<Suit> allSuits = EnumSet.allof(Suit.values());
}我知道final EnumSet上的语法是错误的。我只是不知道我到底做错了什么。任何帮助都是非常感谢的。
发布于 2016-10-27 11:33:09
您应该传递一个Class<Suit>实例而不是一个Suit[]
final EnumSet<Suit> allSuits = EnumSet.allOf(Suit.class);方法签名是allOf(Class elementType)。
https://stackoverflow.com/questions/40283532
复制相似问题