带数组字段的Java枚举
我想在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[] {...}
,所以我想知道是否有人可以建议一种替代的、更简洁的实现方法
干杯
皮特
# 1 楼答案
Vararg参数:
现在,无需显式创建数组即可调用构造函数:
Details(参见“任意数量的参数”一节)