En programmation Java, lorsque vous travaillez avec des collections, vous pouvez rencontrer deux déclarations de type similaires mais distinctes :
(1) List<?> myList = new ArrayList<?>(); (2) ArrayList<?> myList = new ArrayList<?>();
Bien que les deux approches utilisent le caractère générique ?, le choix préféré est de déclarez myList comme une liste plutôt que comme ArrayList. En effet, une référence de liste permet un niveau plus élevé de flexibilité et d'extensibilité.
Avantages de la liste de type :
While List> est généralement préférable, il existe certains scénarios dans lesquels vous pouvez envisager d'utiliser ArrayList> à la place :
Considérez l'exemple suivant :
public class Example { public static void main(String[] args) { // Initialize using type List List<?> list = new ArrayList<>(); // Add elements to the list list.add("One"); list.add("Two"); // Iterate over the list (can only access elements using Object type) for (Object element : list) { System.out.println(element); } // Downcast to ArrayList (not recommended) ArrayList<?> arrayList = (ArrayList<?>) list; // Access ArrayList-specific methods System.out.println("ArrayList size: " + arrayList.size()); } }
Dans cet exemple, en utilisant Liste> nous permet d'ajouter et de parcourir des éléments, mais nous ne pouvons pas accéder aux méthodes spécifiques à ArrayList. Pour ce faire, nous aurions besoin de convertir explicitement la liste en ArrayList, ce qui n'est généralement pas recommandé car cela introduit des erreurs de conversion potentielles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!