2011-08-08 40 views
57

Java'da statik bir dizi tanımlamak için farklı yaklaşımlar gördüm. Ya:Statik bir dizi nasıl başlatılır?

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

... yoksa sadece

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

veya List

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

olarak (tabii listesi tanımı hariç) bir fark var mı?

En iyi yol nedir (performans bilgisi)?

cevap

95

Bir dizi oluşturuyorsanız sonra, ancak, şu fark yoktur kıvrımlara mesafesindedir:

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

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

Şimdiye kadar en iyi yanıt –

8

Hayır, fark yok. Sadece syntactic sugar. Arrays.asList(..), ek bir liste oluşturur. Eğer bu şekilde aramak zorunda bir yöntem haline dizisi geçirmek istiyorsanız,

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

Ama:

İlgili konular