2010-10-30 25 views
11

Her ad için bir liste isimleri ve bireysel rumuzları Java'da Enum olarak saklamak istiyorum. Takma adların sayısı değişmeyecektir. Amaç bir takma addan tam bir isim alabilmektir.Java - Dizi alanı ile numaralandırma

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

Oldukça new String[] {...} tekrarlamak zorunda sevmediğim, bu yüzden herkes daha özlü bir alternatif, bu uygulama yöntemini önermek misin diye merak: Şu anda şöyle bu uygulamıştır?

Alkış,

Pete

cevap

30

vararg parametreleri:

private Names(String... nicknames) { 

Şimdi açıkça diziyi yaratmadan yapıcı çağırabileceği:

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

Details ("Argümanlar Keyfi sayısı bakınız "bölüm)