1

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

4

1 回答 1

3

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

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

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

于 2016-10-27T11:33:09.293 回答