Как инициализировать статический массив? - PullRequest
67 голосов
/ 08 августа 2011

Я видел разные подходы для определения статического массива в Java. Или:

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

... или только

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

или как List

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

Есть ли разница (кроме определения списка, конечно)?

Как лучше (с точки зрения производительности)?

Ответы [ 2 ]

105 голосов
/ 08 августа 2011

Если вы создаете массив, то нет никакой разницы, однако, следующее выглядит лучше:

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

Но, если вы хотите передать массив в метод, вы должны вызывать его следующим образом:

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

myMethod({"spades", "hearts"}); //won't compile!
9 голосов
/ 08 августа 2011

Нет, без разницы. Это просто синтаксический сахар . Arrays.asList(..) создает дополнительный список.

...