Dans la plupart des cas, utilisez simplement
List<String> strings = asList("foo", "bar", "baz");
avec un
import static java.util.Arrays.asList;
Si vous devez pour une raison quelconque, ont un ArrayList
, l'utilisation
List<String> strings = new ArrayList<>(asList("foo", "bar", "baz"));
Vous avez dit que vous avez déclaré à la liste en tant que ArrayList
dans votre code, mais vous ne devriez pas le faire sauf si vous êtes à l'aide de certains membres de l' ArrayList
ce n'est pas en List
, par exemple ArrayList.ensureCapacity()
.
Habituellement, vous avez juste à déclarer les variables les plus générales de l'interface que vous allez utiliser (pour des listes est habituellement List
si vous avez besoin d'un accès aléatoire, Collection
si vous avez besoin de sa taille, ou Iterable
si vous avez juste besoin d'itérer sur elle), et de les initialiser avec la mise en œuvre spécifique, par exemple ArrayList
ou LinkedList
.
Travailler avec les interfaces, pas implémentations, sinon, vous trouverez que vous avez à modifier dans plus d'un endroit lorsque vous souhaitez utiliser une autre application.
Un autre exemple serait toujours déclarer une variable InputStream
même si il est habituellement un FileInputStream
, parce qu'un jour, bientôt, vous ou quelqu'un d'autre ne souhaitez utiliser un autre type d' InputStream
.