枚举类型可能无法被实例化



我正在制作一个基本的卡组,我在使用枚举时遇到了一个问题。

如何在我的代码中修复以下错误(枚举类型可能无法实例化)并获得分配给每个enum的值

 public enum Rank {
    ACE(14),
    KING(13),
    QUEEN(12),
    JACK(11),
    TEN(10),
    NINE(9),
    EIGHT(8),
    SEVEN(7),
    SIX(6),
    FIVE(5),
    FOUR(4),
    THREE(3),
    TWO(2);
    private final int rankValue;
    Rank(int rankValue) {
        this.rankValue = rankValue;
    }
    public int getRankValue() {
        return rankValue;
    }
}
private Card[] cards = new Card[52];
public Deck() {
    int posInDeck = 0;
    for (Suit s : Suit.values()) {
        for (Rank r : Rank.values()) {
            cards[posInDeck] = new Card(s.toString(),new Rank(r.getRankValue(), r.toString()), false);// ERROR HERE
            posInDeck++;
        }
    }
}

您不能像实例化class那样实例化enumnew Rank(r.getRankValue(), r.toString())表述错误。

你可以这样做:

cards[posInDeck] = new Card(s.toString(),r,false);

可以直接用r代替new Rank(r.getRankValue(), r.toString())

相关内容

  • 没有找到相关文章

最新更新