Wie initialisiere ich ein statisches Array?


70

Ich habe verschiedene Ansätze gesehen, um ein statisches Array in Java zu definieren. Entweder:

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

... oder nur

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

oder als List

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

Gibt es einen Unterschied (außer natürlich der Listendefinition)?

Was ist der bessere Weg (leistungsmäßig)?

Antworten:


108

Wenn Sie ein Array erstellen, gibt es keinen Unterschied. Folgendes ist jedoch besser:

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

Wenn Sie jedoch ein Array an eine Methode übergeben möchten, müssen Sie es folgendermaßen aufrufen:

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

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.