gpt4 book ai didi

java - 启动枚举作为值

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:39:04 25 4
gpt4 key购买 nike

我想声明一个枚举变量作为值。我怎样才能做到这一点?

例如:

public enum CardSuit {
SPADE(0), HEART(1), DIAMOND(2), CLUB(3);
}

我可以这样声明:

CardSuit s = CardSuit.SPADE;

我也想这样声明:

CardSuit s = 1;

这样做的方法是什么?这可能吗?

最佳答案

我想你想要这样的东西,

public static enum CardSuit {
SPADE(0), HEART(1), DIAMOND(2), CLUB(3);
int value;

CardSuit(int v) {
this.value = v;
}

public String toString() {
return this.name();
}
}

public static void main(String[] args) {
CardSuit s = CardSuit.values()[0];
System.out.println(s);
}

输出是

SPADE

编辑

如果你想按分配的值搜索,你可以用这样的东西来做-

public static enum CardSuit {
SPADE(0), HEART(1), DIAMOND(4), CLUB(2);
int value;

CardSuit(int v) {
this.value = v;
}

public String toString() {
return this.name();
}

public static CardSuit byValue(int value) {
for (CardSuit cs : CardSuit.values()) {
if (cs.value == value) {
return cs;
}
}
return null;
}
}

public static void main(String[] args) {
CardSuit s = CardSuit.byValue(2);
System.out.println(s);
}

输出是

CLUB

关于java - 启动枚举作为值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23496165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com