Java EnumSet语法帮助



我刚刚开始学习Java,我正在通过一个简单的应用程序,工作与一副牌。目前,我正试图用枚举实例化Suit类。我想使用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的语法是错误的。我只是不确定我到底做错了什么。

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

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

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

相关内容

  • 没有找到相关文章

最新更新