gpt4 book ai didi

java - EnumMap 与属性

转载 作者:行者123 更新时间:2023-12-04 05:23:29 24 4
gpt4 key购买 nike

有没有人有什么优越的想法,EnumMapProperties (或者至少在我的情况下?)我正在使用 3rd 方软件包,该软件包使用他们的方法在我的代码和他们的应用程序之间进行通信,如下所示:

TheirRuntime.getInstance().getParameter(String paramName)

目前我已经创建了一个 enum像这样工作:
public enum MyEnum {
FOO_BAR ("fooBar"), BAZ_QUUX ("bazQuux");

private final String varName;
private MyEnum(String varName) {
this.varName = varName();
}
public String varName() {
return varName();
}
}

然后我将值存储在 EnumMap<MyEnum, Double> 中,当用户更改某些内容时会更新。我的架构比这稍微复杂一些,但为了 SSCCE 我省略了一些细节.虽然我会提到我用以下内容加载值:
for (MyEnum me : MyEnum.values()) {
TheirRuntime.getInstance().getParameter(me.varName());
}

我想知道的是,使用 Properties 会更有意义吗? ?出现这个问题是因为我正在尝试构建一个完全不涉及 3rd 方软件的测试框架,并且我正在尝试找出一种很好的、​​简单的方法来加载不使用任何 3rd 的参数方 API 调用,以及 Properties file 似乎是一个简单的方法,这让我想知道我是否应该使用 Properties在主类。

想法?

最佳答案

枚举的好处很明显:
它为您提供枚举文字。您可以使用它们在编译级别捕获“错误的关键”问题。
属性允许您灵活 - 例如 - 您可以从文件中读取它们。
最大的问题是 - 你有多确定枚举提供的文字集是固定的,不会改变?
例如,我们的系统有一组枚举值,由于我们是一个开源项目,我们想在它之上构建一个理论上应该使用枚举值的插件,
但是插件编写者将无法使用原始枚举,因为它有一组固定的文字,所以我们要么将我们的枚举修改为属性对象,并让插件编写者注册他们的“文字”,
或者我们必须为我们的枚举提供一个补充系统。
很抱歉,我在这里没有“明确的”解决方案。

关于java - EnumMap 与属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13459144/

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