2010-10-30 30 views
11

Desidero memorizzare nomi di elenchi e nickname individuali per ciascun nome come Enum in Java. Il numero di nickname non varierà. Lo scopo è quello di essere in grado di ottenere un nome completo da un soprannome. Attualmente ho implementato questo modo:Java - Enum con campo array

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 
    } 
} 

ho abbastanza antipatia dover ripetere new String[] {...}, quindi mi chiedevo se qualcuno potrebbe suggerire un'alternativa, più concisa, il metodo di applicazione del presente?

Cheers,

Pete

risposta

30

parametri vararg:

private Names(String... nicknames) { 

Ora è possibile richiamare costruttore senza creare esplicitamente matrice:

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

Details (vedere "arbitraria Numero di argomenti "sezione)