gpt4 book ai didi

java - 避免枚举类型的 switch 语句

转载 作者:行者123 更新时间:2023-11-30 04:04:22 25 4
gpt4 key购买 nike

我有一个名为Food的类。

食物内部是一个枚举FoodType,如下所示:

public class Food {

public enum FoodType {
STRAWBERRY, COOKIE, CHILLI, APPLE, BURGER, HOTDOG, PIZZA, LEMON
}
FoodType foodType;
...
}

在我的食物构造函数中,我有这个:

public Food(Vector2 position) {
...

this.foodType=generateFoodType();
}

其中generateFoodType将随机返回我的枚举中的值之一。

我遇到的问题是食物的某些其他属性将取决于其食物类型(例如大小)。这迫使我在设置食物属性之前不断检查食物类型,我发现自己不断编写 switch 语句,让事情看起来一团糟。

我考虑过创建 Food 的子类而不是使用枚举,但我想知道是否有人可以看到另一种方式,因为如果我这样做,我可能会得到很多类.

最佳答案

只需将属性添加到枚举值中即可。这个问题包含很多方法:Conveniently map between enum and int / String

您甚至可以将方法添加到枚举和 override them for each value .

关于java - 避免枚举类型的 switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21115481/

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