gpt4 book ai didi

java - 如何将整数分配给枚举字段?

转载 作者:行者123 更新时间:2023-11-29 03:26:17 26 4
gpt4 key购买 nike

一个类(Card)有一个枚举字段。我将枚举类型定义封装为类中的私有(private):

private enum Suit {
HEARTS, DIAMONDS, SPADES, CLUBS;
}

在构造函数中,我想将随机花色分配给一张牌。当然,我可以在下一个离散统一变量上创建一个 switch-case 语句,并根据四个不同的值进行分支。有些东西告诉我有一种更紧凑的方法可以做到这一点。在 C 中,枚举值只是一个整数,但是

public Card() {
this.suit = this.random.nextInt(4);
}

(其中 this.suit 属于 Suit 类型)由于类型冲突在 Java 中不起作用。

最佳答案

使用:

Suit.values()[indexHere];

values() 方法在数组中给出枚举,顺序与您在代码中编写它们的顺序相同。该方法由编译器自动添加。

因此,在您的情况下:

public Card()
{
this.suit = Suit.values()[this.random.nextInt(4)];
}

关于java - 如何将整数分配给枚举字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20827896/

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