Java 从另一个类调用枚举

Java 从另一个类调用枚举,java,enums,Java,Enums,这可能是一个太基本的问题。我已经尝试过已经给出的方法,但它不起作用。 我想从另一个类调用枚举 package com.blackjack.game.cards; public enum Card implements Comparable<Card> { ACE(1, 11), KING(13, 10), QUEEN(12, 10), JACK(11, 10), TEN(10, 10), NINE(9, 9), EIGH

这可能是一个太基本的问题。我已经尝试过已经给出的方法,但它不起作用。 我想从另一个类调用枚举

   package com.blackjack.game.cards;
public enum Card implements Comparable<Card> {

    ACE(1, 11),
    KING(13, 10),
    QUEEN(12, 10),
    JACK(11, 10),
    TEN(10, 10),
    NINE(9, 9),
    EIGHT(8, 8),
    SEVEN(7, 7),
    SIX(6, 6),
    FIVE(5, 5),
    FOUR(4, 4),
    THREE(3, 3),
    TWO(2, 2);

    public final int rank;
    public final int value;
    private static final String[] CARD_NAMES = {
            "joker", "ace", "two", "three",
            "four", "five", "six", "seven",
            "eight", "nine", "ten", "jack",
            "queen", "king"
    };

    private Card(final int rank, final int value) {
        this.rank = rank;
        this.value = value;
    }

    public int getRank() {
        return rank;
    }

    public int getValue() {
        return value;
    }
package com.blackjack.game.cards;
公共枚举卡{
ACE(1,11),
国王(13,10),
女王(12,10),
杰克(11,10),
十(10,10),
九(9,9),
八(8,8),
七(7,7),
六(6,6),
五(5,5),
四(4,4),
三(3,3),
二(2,2);
公开最终国际排名;
公共最终整数值;
私有静态最终字符串[]卡名称={
“小丑”,“王牌”,“二”,“三”,
“四”,“五”,“六”,“七”,
“八”,“九”,“十”,“杰克”,
“女王”、“国王”
};
私人卡(最终积分等级,最终积分值){
这个.等级=等级;
这个值=值;
}
public int getRank(){
返回等级;
}
public int getValue(){
返回值;
}
我用下面的方法做,但不起作用

导入com.blackjack.game.cards.Card;

Card Card=new Card.ACE;

在Java中,不需要使用new来访问枚举值:

Card card = Card.ACE;
另一项说明: 既然您有公共getter,为什么不使用私有字段:

 private final int rank;
 private final int value;
还有一点值得注意的是,卡号似乎没有在任何地方使用,而且是私人的

枚举可以在字符串字段中包含名称:

private final int rank;
private final int value;
private final String name;

public String getName() {return name;}
创建枚举时:

ACE(1, 11, "ace"),
KING(13, 10, "king")
....
或者,您可以通过内置的
name()
方法访问已创建枚举的名称;下面是一个示例:

String name = Card.ACE.name();

在Java中,不需要使用new来访问枚举值:

Card card = Card.ACE;
另一项说明: 既然您有公共getter,为什么不使用私有字段:

 private final int rank;
 private final int value;
还有一点值得注意的是,卡号似乎没有在任何地方使用,而且是私人的

枚举可以在字符串字段中包含名称:

private final int rank;
private final int value;
private final String name;

public String getName() {return name;}
创建枚举时:

ACE(1, 11, "ace"),
KING(13, 10, "king")
....
或者,您可以通过内置的
name()
方法访问已创建枚举的名称;下面是一个示例:

String name = Card.ACE.name();