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
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
List
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)
2. Liste
3 . Liste> (Platzhaltertyp)
Beispiel-Methodensignaturen
1. CanYouGiveMeAnAnswer(List l)
Diese Methode kann jeden Listentyp akzeptieren, einschließlich Rohlisten und parametrisierten Listen, da List die Oberklasse aller Listentypen ist.
2 . CanYouGiveMeAnswer(List
Diese Methode kann nur parametrisierte Listen vom Typ Object akzeptieren. Es können keine Rohlisten oder Listen anderer Art akzeptiert werden.
3. CanYouGiveMeAnswer(List> l)
Diese Methode kann jede Art von Liste akzeptieren, einschließlich Rohlisten und parametrisierten Listen, aber sie kann der Liste keine neuen Objekte hinzufügen.
Das obige ist der detaillierte Inhalt vonJava Generics: Was ist der Unterschied zwischen „List', „List' und „List'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!