14 java arrays enums refactoring constants
我想将每个名称的列表名称和单个昵称存储为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
}
}
Run Code Online (Sandbox Code Playgroud)
我不喜欢不得不重复new String[] {...}
,所以我想知道是否有人可以建议一种替代的,更简洁的方法来实现这一点?
干杯,
皮特
Nik*_*bak 35
Vararg参数:
private Names(String... nicknames) {
Run Code Online (Sandbox Code Playgroud)
现在您可以在不显式创建数组的情况下调用构造函数:
ELIZABETH("Liz", "Bet", "another name")
Run Code Online (Sandbox Code Playgroud)
详细信息(请参阅"任意数量的参数"部分)