Java - 带有数组字段的枚举

16

我希望在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[] {...},所以想知道是否有其他更简洁的实现方法?

谢谢,

Pete

1个回答

38

可变参数:

private Names(String... nicknames) {

现在您可以调用构造函数而无需显式创建数组:

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

详情(请参见“可变数量的参数”一节)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接