我想将每个名称的列表名称和单个昵称存储为Java中的Enum。昵称的数量不会有所不同。目的是能够从昵称中获取全名。目前我已经实现了这样:
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[] {...}
,所以我想知道是否有人可以建议一种替代的,更简洁的实现方法?
干杯,
皮特
答案 0 :(得分:35)
Vararg参数:
private Names(String... nicknames) {
现在您可以在不显式创建数组的情况下调用构造函数:
ELIZABETH("Liz", "Bet", "another name")
Details(参见“任意数量的参数”部分)