Vor kurzem hatte ich aufgrund meiner Arbeit die Möglichkeit, Java zu verwenden. Ich habe mein altes Java (1.3) Wissen aktualisiert.
Diese Funktion bestimmt die Verarbeitung des Typs, der zum Zeitpunkt der Implementierung verwendet werden soll.
Das allein ist erfrischend, deshalb möchte ich es anhand eines Beispiels erklären.
List list = new ArrayList();
//Werte in Liste speichern
// String ->Da es in Object konvertiert wird, kann es implizit gespeichert werden.
list.add("1");
list.add("2");
list.add("3");
for (Iterator it = list.iterator(); it.hasNext(); ) {
//Ruft den Wert der Liste ab und zeigt ihn an
//Objekt zum Zeitpunkt des Erwerbs->String benötigt eine explizite Besetzung
String str = (String) it.next();
System.out.println(str);
}
//Bereiten Sie eine ArrayList vor, die den String-Typ verwendet
List<String> list = new ArrayList<String>();
// List<String> list = new ArrayList<>(); //Da der Typ beim Deklarieren der Variablen beim Erstellen einer Instanz festgelegt ist<>Kann ausgelassen werden
//Werte in Liste speichern
//String kann so wie er ist gespeichert werden
list.add("1");
list.add("2");
list.add("3");
for (Iterator<String> it = list.iterator(); it.hasNext(); ) {
//Ruft den Wert der Liste ab und zeigt ihn an
//Keine Notwendigkeit zu werfen, da es mit String erhalten werden kann
String str = it.next();
System.out.println(str);
}
In Java1.3 bei Verwendung von Sammlungen Ich musste es als Objekttyp speichern. Beim Extrahieren handelt es sich natürlich auch um einen Objekttyp, daher musste ich ihn entsprechend dem verwendeten Typ umwandeln.
Der Songwriter ist zu besetzen, wenn dies herausgenommen wird Wenn Sie den falschen Typ speichern, erhalten Sie eine ClassCastException. Natürlich ist es eine Ausnahme, sodass Sie den Fehler erst bemerken, wenn Sie ihn ausführen.
Wenn Sie dagegen Generics verwenden, können Sie den Typ zum Zeitpunkt der Implementierung bestimmen.
Falscher Typ zum Speichern = Kompilierungsfehler aufgetreten
Es ist auch eine Funktion, die hilft, einfache Fehler zu reduzieren.
Recommended Posts