Java – 包含数组字段的枚举

我想将每个名称的列表名称和单个昵称存储为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[] {...} ,所以我想知道是否有人可以建议一种替代的,更简洁的实现方法?

干杯,

皮特

Vararg参数:

 private Names(String... nicknames) { 

现在您可以在不显式创建数组的情况下调用构造函数:

 ELIZABETH("Liz", "Bet", "another name") 

详细信息 (请参阅“任意数量的参数”部分)