0
我正在製作一個基本的卡片組,並且使用枚舉遇到了問題。枚舉類型可能未實例化錯誤
如何解決以下錯誤(枚舉類型可能不被實例化),在我的代碼,並獲得分配給每個枚舉值
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++;
}
}
}
「如何解決以下錯誤」是什麼錯誤?提供錯誤消息和**短但全**代碼將讓我們重現它。現在看起來這段代碼片段是'Deck'類的一部分,但我只能假設它只在縮進級別和構造函數的名稱上。 – Pshemo
爲什麼不只定義'Rank'枚舉中的值並將'Rank.ACE'傳遞給'Card'的構造函數(並相應地編輯'Card'中的字段/ getter/setter?實例化枚舉不會使因爲枚舉是一組靜態值。 – Stefan