我想在 Java 中将列表名称和每个名称的昵称存储为枚举。昵称的数量不会改变。目的是能够从昵称得到全名。目前我已经这样实现了:
public enum Names {
ELIZABETH(new String[] {"Liz","Bet"}),
...
;
private String[] nicknames;
private Names(String[] nicknames)
{
this.nicknames = nicknames
}
public Names getNameFromNickname(String nickname) {
//Obvious how this works
}
}
我非常不喜欢必须重复 new String[] {...}
,所以我想知道是否有人可以建议一种替代的、更简洁的实现方法?
干杯,
皮特
最佳答案
可变参数:
private Names(String... nicknames) {
现在您可以在不显式创建数组的情况下调用构造函数:
ELIZABETH("Liz", "Bet", "another name")
Details (参见“任意数量的参数”部分)
关于Java - 带有数组字段的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4059702/