2011-08-08 78 views
57

我已經看到了不同的方法來定義Java中的靜態數組。或者:如何初始化一個靜態數組?

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

...或只

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

或作爲List

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

是有區別(除了課程的列表定義)?

什麼是更好的方法(性能明智)?

回答

95

如果要創建一個數組,那麼有沒有什麼區別,但是,以下是整潔:

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

但是,如果你想一個數組傳遞到你要調用它像這樣的方法:

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

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

目前爲止的最佳答案 –

8

不,沒有區別。這只是syntactic sugarArrays.asList(..)創建一個附加列表。