Polymorphismus: Erkundung von „List list = new ArrayList“ vs. „ArrayList list = new ArrayList“
Bei der Arbeit mit Java-Sammlungen eine Es stellt sich häufig die Frage: Sollten Sie eine Variable mit einem bestimmten Implementierungstyp (z. B. ArrayList) oder mit einem Schnittstellentyp (z. B. List) deklarieren? Obwohl beide Ansätze theoretisch gültig sind, bietet die Verwendung der Schnittstelle (List) gegenüber der konkreten Implementierung (ArrayList) deutliche Vorteile.
Gründe für die Verwendung von „List list = new ArrayList“
Beispiel:
Bedenken Sie Folgendes Code:
<code class="java">List<String> names = new ArrayList<>(); names.add("John"); names.add("Mary");</code>
In diesem Beispiel werden die Variablennamen als Liste von Zeichenfolgen deklariert. Ihm wird eine Instanz von ArrayList zugewiesen, bei der es sich um eine Implementierung der List-Schnittstelle handelt. Da Namen jedoch als Liste deklariert sind, können wir ArrayList bei Bedarf problemlos durch eine andere Implementierung wie LinkedList ersetzen.
Fazit
Bei Verwendung der spezifischen Implementierung Typ (z. B. ArrayList) mag einfach erscheinen, die Übernahme des schnittstellenbasierten Ansatzes (z. B. List) bietet erhebliche Vorteile in Bezug auf Entkopplung, Flexibilität und Zukunftssicherheit. Indem Sie Polymorphismus nutzen, verleihen Sie Ihrem Code die Fähigkeit, sich elegant an Änderungen in Datenstrukturen und Anforderungen anzupassen.
Das obige ist der detaillierte Inhalt vonWarum sollte \'List list = new ArrayList\' anstelle von \'ArrayList list = new ArrayList\' verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!