71 votes

Comment initialiser un tableau statique ?

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

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 (à l'exception de la définition de la liste, bien sûr) ?

Quelle est la meilleure solution (en termes de performances) ?

109voto

dogbane Points 85749

Si vous créez un tableau, il n'y a aucune différence, mais la méthode suivante est plus claire :

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!

9voto

Bozho Points 273663

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X