80 Stimmen

Wie initialisiert man ein statisches Array?

Ich habe verschiedene Ansätze zur Definition eines statischen Arrays in Java gesehen. 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 der Definition in der Liste natürlich)?

Was ist der bessere Weg (in Bezug auf die Leistung)?

122voto

dogbane Punkte 253146

Wenn Sie ein Array erstellen, gibt es keinen Unterschied, aber das Folgende ist übersichtlicher:

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

Wenn Sie jedoch ein Array an eine Methode übergeben wollen, müssen Sie sie wie folgt aufrufen:

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

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

9voto

Bozho Punkte 570413

Nein, kein Unterschied. Es ist nur syntaktischer Zucker . Arrays.asList(..) erstellt eine zusätzliche Liste.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X