java - 在不修改 Enum 类的情况下构造 Enum 中的实例

标签 java enums

如果我的问题不清楚,我深表歉意,

我目前正在做一项学校作业,我必须使用以下枚举类:

public enum Seeds {
TOMATE,
CONCOMBRE,
SALADE,
PATATE,
BETTERAVE;
}

我想直接在类中为每个枚举分配属性,而不是为每个种子的购买价格、出售价格和成熟时间创建一大堆常量,并且每次都必须将它们键入出来,如下所示:

public enum Seeds {
TOMATE(2.00, 3.50, 5),
CONCOMBRE(1.00, 2.50, 6),
SALADE(1.50, 4.50, 8),
PATATE(2.50, 3.50, 4),
BETTERAVE(2.00, 4.00, 10);

private final double 
                buy_price,
                sell_price;
private final int
                maturation_time;

public Seeds(double buy_price, sell_price, int maturation_time) {
    this.buy_price = buy_price;
    this.sell_price = sell_price;
    this.maturation_time = maturation_time;
}...

并用 getter 返回它们的属性。

但是,我的老师告诉我,我无法修改提供的 Enum 类...所以我想知道是否可以在另一个类中构造种子。

最佳答案

如果您无法修改 Seeds 枚举,您可以创建一个 POJO 来保存您需要的所有信息,如下所示:

public class Seed {
    private Seeds seedType;
    private double buyPrice;
    private double sellPrice;
    private int maturationTime;
    // constructor, getters and setters here
}

不过,最好将属性和构造函数添加到 Seeds 枚举中。

关于java - 在不修改 Enum 类的情况下构造 Enum 中的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42841031/

相关文章:

java - Apache POI 和 EXCEL

swift - 基于具有关联值的 Swift 枚举过滤数组 - 不提及关联值

C++ wstring 枚举

python - 从 Python 中的字符串列表创建枚举类

java - 为什么不能在方法中本地声明枚举?

java - Struts2属性标签默认转义属性

java - Pentaho Kettle由于缺少插件而无法运行转换

java - 在枚举类型中使用整数

java - 写hadoop的java api需要SSH吗?

java - 在java类中获取全局变量的空值?