Java EnumSet语法帮助

时间:2016-10-27 11:31:12

标签: java enums enumset

我刚刚开始学习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上的语法错误。我只是不确定我到底做错了什么。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:3)

您应该传递Class<Suit>个实例而不是Suit[]

final EnumSet<Suit> allSuits = EnumSet.allOf(Suit.class);

方法签名为allOf(Class<E> elementType)