gpt4 book ai didi

java - 通过 API 更新枚举

转载 作者:行者123 更新时间:2023-11-30 07:46:12 24 4
gpt4 key购买 nike

我想更新枚举值运行时。我正在使用 JPA 并且当前有一个枚举作为

public enum ColorEnum
{
A, B, C
}

并在实体中使用此枚举作为:

@Enumerated(EnumType.STRING)
@Column(name = "Color_Enum ", nullable = false)
private ColorEnum colorEnum ;

它为但我想提供一个 api,以便在将来有需要时添加新的枚举“D”。在那种情况下,创建实体的最佳方法是什么?有什么方法可以更改枚举?

最佳答案

实现这一点的方法是使用接口(interface)。

interface Colour
{
String getHex(); // or whatever a colour does
}

然后您可以声明默认颜色:

enum DefaultColour implements Colour
{
RED("ff0000"),
BLUE("0000ff");

private final String hex;

DefaultColour(String hex) { this.hex = hex; }

@Override
public String getHex() { return hex; }
}

然后当有人想要添加额外的颜色时,他们可以实现相同的接口(interface):

class Gold implements Colour {
//...
}

或提供完整列表:

enum AdditionalColour implements Colour {
YELLOW("..."),
GREEN("...");

//...
}

我会使用 service provider interface在运行时提供额外的颜色。

关于java - 通过 API 更新枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50815193/

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