Comment initialiser un tableau statique?

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

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

… ou seulement

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

ou comme une List

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

Y a-t-il une différence (sauf pour la définition de liste bien sûr)?

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

Si vous créez un tableau, il n’y a pas de différence, cependant, les éléments suivants sont plus simples:

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

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

 myMethod(new Ssortingng[] {"spades", "hearts"}); myMethod({"spades", "hearts"}); //won't comstack! 

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