Heim > Java > javaLernprogramm > Java Generics: Was ist der Unterschied zwischen „List', „List' und „List'?

Java Generics: Was ist der Unterschied zwischen „List', „List' und „List'?

Mary-Kate Olsen
Freigeben: 2024-11-24 04:54:10
Original
899 Leute haben es durchsucht

Java Generics: What's the Difference Between `List`, `List`, and `List`?

Java Generics: List, List, List

Einführung

Java Generics bieten eine Mechanismus zum Erstellen typsicherer Sammlungen, die Objekte bestimmter Typen enthalten können. In diesem Artikel untersuchen wir die Unterschiede zwischen drei Varianten der List-Schnittstelle: List, List und List.

Die Unterschiede verstehen

1. List (Rohtyp)

List ist der Rohtyp der List-Schnittstelle. Es gibt keine Typargumente an, was bedeutet, dass es Objekte jeden Typs enthalten kann. Von Rohtypen wird jedoch generell abgeraten, da sie potenzielle Probleme mit der Typsicherheit mit sich bringen.

2. Liste (parametrisierter Typ)

List ist ein parametrisierter Typ, der angibt, dass die Liste nur Objekte vom Typ Object enthalten kann. Dies gewährleistet die Typsicherheit, schränkt jedoch die Flexibilität der Liste im Vergleich zum Rohtyp ein.

3. Liste (Platzhaltertyp)

Liste ist ein Platzhaltertyp, der eine Liste unbekannten Typs bezeichnet. Es kann Objekte jeglichen Typs enthalten, es können jedoch keine neuen Objekte zur Liste hinzugefügt werden. Der Platzhaltertyp wird hauptsächlich als Parametertyp verwendet, um anzugeben, dass eine Methode Listen jeden Typs akzeptieren kann.

Wann die einzelnen Typen verwendet werden sollten

1. Liste (Rohtyp)

  • Verwenden Sie Liste, wenn der Typ der in der Liste gespeicherten Objekte irrelevant oder zum Zeitpunkt der Kompilierung nicht bekannt ist.
  • Beachten Sie jedoch den möglichen Typ Sicherheitsbedenken und erwägen Sie, wann immer möglich, parametrisierte Typen zu verwenden.

2. Liste (parametrisierter Typ)