2011-08-08 18 views
57

Widziałem różne podejścia do definiowania statycznej tablicy w Javie. Albo:Jak zainicjować statyczną tablicę?

String[] suit = new String[] { 
    "spades", 
    "hearts", 
    "diamonds", 
    "clubs" 
}; 

... czy tylko

String[] suit = { 
    "spades", 
    "hearts", 
    "diamonds", 
    "clubs" 
}; 

lub jako List

List suit = Arrays.asList(
    "spades", 
    "hearts", 
    "diamonds", 
    "clubs" 
); 

Czy istnieje różnica (z wyjątkiem definicji Lista oczywiście)?

Jaki jest lepszy sposób (wydajność)?

Odpowiedz

95

Jeśli tworzysz tablicę wtedy nie ma żadnej różnicy, jednak po to neater:

String[] suit = { 
    "spades", 
    "hearts", 
    "diamonds", 
    "clubs" 
}; 

Ale jeśli chcesz przekazać tablicę do metody trzeba nazwać tak:

myMethod(new String[] {"spades", "hearts"}); 

myMethod({"spades", "hearts"}); //won't compile! 
+1

najlepsza odpowiedź do tej pory –

Powiązane problemy