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();