Java 枚举类型不能实例化错误

Java 枚举类型不能实例化错误,java,arrays,enums,playing-cards,Java,Arrays,Enums,Playing Cards,我目前正在制作一个基本的卡片组,但在使用枚举时遇到了一个问题 如何修复代码中的以下错误(枚举类型可能未实例化)并获得分配给每个枚举的值 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),

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


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

 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++;
        }
    }
}

不能像实例化类那样实例化
枚举
。语句
newrank(r.getRankValue(),r.toString())
不正确

这是您可以做的:

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

不能像实例化类那样实例化
枚举
。语句
newrank(r.getRankValue(),r.toString())
不正确

这是您可以做的:

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

您可以只使用
r
而不是
新秩(r.getRankValue(),r.toString())

您可以只使用
r
而不是
新秩(r.getRankValue(),r.toString())
“我如何修复以下错误”什么错误?提供错误信息,简短但完整的代码将让我们重现它。现在看来,这个代码片段是
Deck
类的一部分,但我只能在缩进级别和构造函数名称上假设它。为什么不只定义
Rank
enum中的值,并将
Rank.ACE
传递给
卡的构造函数(并相应地编辑
卡中的字段/getter/setter
?实例化枚举没有意义,因为枚举是一组静态值。“如何修复以下错误?”什么错误?请提供错误消息,简短但完整的代码将让我们重现它。目前看来,此代码片段是
Deck
类的一部分,但我只能在缩进级别和构造函数名称上假设它。为什么不只定义
Rank
enum中的值并将
Rank.ACE
传递给构造函数(并相应地编辑
中的字段/getter/setter)?实例化枚举没有意义,因为枚举是一组静态值。