如何初始化静态数组?

时间:2011-08-08 09:37:56

标签: java arrays static playing-cards

我已经看到了在Java中定义静态数组的不同方法。之一:

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

...或仅

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

List

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

是否存在差异(当然,除了List定义外)?

更好的方法(表现明智)是什么?

2 个答案:

答案 0 :(得分:103)

如果您正在创建一个阵列,那么没有区别,但是,以下是整洁的:

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

但是,如果你想将一个数组传递给一个方法,你必须像这样调用它:

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

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

答案 1 :(得分:9)

不,没有区别。它只是syntactic sugarArrays.asList(..)会创建一个附加列表。