web-dev-qa-db-fra.com

Comment initialiser un tableau statique?

J'ai vu différentes approches pour définir un tableau statique en Java. Non plus:

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

... ou seulement

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

ou en tant que List

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

Y a-t-il une différence (sauf pour la définition de cours de la liste)?

Quelle est la meilleure façon (performance sage)?

68
Jeremy S.

Si vous créez un tableau, il n'y a pas de différence, cependant, ce qui suit est plus ordonné:

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

Mais si vous voulez passer un tableau dans une méthode, vous devez l'appeler comme ceci:

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

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

Non, pas de différence. C'est juste sucre syntaxique . Arrays.asList(..) crée une liste supplémentaire.

9
Bozho