有没有办法指定接受数组的构造函数,然后直接向该构造函数传递该数组的预定义值列表.
这是一个例子:
假设你有一个名为Unit的枚举.
public enum Unit {
PROBE (null),
STALKER (null);
private final String[] require;
Unit(String[] require) {
this.require = require;
}
public String[] require() { return require; }
}
Run Code Online (Sandbox Code Playgroud)
上面的代码是有效的但如果我想用值列表替换空值怎么办?
例如,这是我想做的,但它是无效的:
public enum Unit {
PROBE (null),
STALKER ({"cybernetics core"});
private final String[] require;
Unit(String[] require) {
this.require = require;
}
public String[] require() { return require; }
}
Run Code Online (Sandbox Code Playgroud)
这次,在上面的例子中,我试图将一个数组元素值传递给构造函数.我意识到我可以指定一个数组来存储这个值,String[] stalker = {"cybernetics core"};但是考虑到在我的完整项目中我需要在这里输入不同的数组值,我正在寻找一种更优雅的方式.在那儿?
您可以使用常规数组构造函数:
STALKER(new String[] { "value1", "value2" });
Run Code Online (Sandbox Code Playgroud)