gpt4 book ai didi

作为枚举的 java 属性文件

转载 作者:太空狗 更新时间:2023-10-29 22:51:19 25 4
gpt4 key购买 nike

是否可以将属性文件转换为枚举。

我有一个包含很多设置的属性文件。例如

equipment.height
equipment.widht
equipment.depth
and many more like this and not all are as simple as the example

开发人员必须知道 key 才能获取属性的值。相反,是否可以做一些事情,开发人员可以在其中键入 MyPropertyEnum。并且键列表将显示在 IDE 中,就像它显示在 Enum 中一样

MyPropertyEnum.height

最佳答案

我经常使用属性文件 + 枚举组合。这是一个例子:

public enum Constants {
PROP1,
PROP2;

private static final String PATH = "/constants.properties";

private static final Logger logger = LoggerFactory.getLogger(Constants.class);

private static Properties properties;

private String value;

private void init() {
if (properties == null) {
properties = new Properties();
try {
properties.load(Constants.class.getResourceAsStream(PATH));
}
catch (Exception e) {
logger.error("Unable to load " + PATH + " file from classpath.", e);
System.exit(1);
}
}
value = (String) properties.get(this.toString());
}

public String getValue() {
if (value == null) {
init();
}
return value;
}

}

现在您还需要一个属性文件(我通常将它放在 src 中,因此它被打包到 JAR 中),其属性与您在枚举中使用的一样。例如:

常量.properties:

#This is property file...
PROP1=some text
PROP2=some other text

现在我经常在我想使用常量的类中使用静态导入:

import static com.some.package.Constants.*;

和一个示例用法

System.out.println(PROP1);

关于作为枚举的 java 属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4908973/

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