web-dev-qa-db-ja.com

静的配列を初期化する方法は?

Javaで静的配列を定義するさまざまなアプローチを見てきました。どちらか:

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

...またはのみ

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

またはListとして

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

違いはありますか(もちろん、リストの定義を除く)。

より良い方法は何ですか?

68
Jeremy S.

配列を作成している場合、違いはありませんが、次の方がきれいです。

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

ただし、配列をメソッドに渡したい場合は、次のように呼び出す必要があります。

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

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

いいえ、違いはありません。それはただ 構文糖 です。 Arrays.asList(..)は追加のリストを作成します。

9
Bozho