2010-10-30 10 views
11

Chcę zapisać nazwy list i indywidualne pseudonimy dla każdej nazwy jako Enum w Javie. Liczba pseudonimów nie będzie się różnić. Celem jest uzyskanie pełnego imienia i nazwiska z pseudonimu. Obecnie wprowadziliśmy to tak:Java - Enum z polem tablicy

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

ja całkiem lubię konieczności powtarzania new String[] {...}, więc zastanawiałem się, czy ktoś mógłby sugerować alternatywę, bardziej zwięzłe, sposób realizacji tego?

Cheers,

Pete

Odpowiedz

30

parametry Vararg:

private Names(String... nicknames) { 

Teraz można wywołać konstruktora bez jawnie tworzenia tablicy:

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

Details (patrz „dowolnej liczby argumentów "sekcja)