Unterschiede zwischen Java 1.4 & Java 1.5

November 2

Java wurde ursprünglich im Jahr 1995, aber regelmäßig geändert seit damals. Im Laufe der Jahre wurden viele wichtige Änderungen vorgenommen; einige der bemerkenswertesten aus einem gewöhnlichen Entwickler Sicht geschah zwischen 1.4 und 1.5, und die meisten dieser Änderungen geschehen in der Collection-API.

Generische Typen

Die generischen Typ-Funktionalität ermöglicht die Programmierer, optional den Typ der Werte definieren, die in den integrierten Auflistungsklassen wie HashMap und ArrayList gespeichert sind. Dies ersetzt den 1,4-Code:

ArrayList-Daten = new ArrayList();

Data.Add (neue Double(4.0));

Double Wert = (Double) data.get(0);

Mit dem 1,5-Code:

ArrayList < Double > Daten = new ArrayList < Double > ();

Data.Add (neue Double(4.0);

Double Wert = data.get(0);

Die Erklärung der ArrayList wird etwas schwerfälliger, aber Programmierer können die Vorteile erkennen. Der Compiler behandelt nun das Umwandeln der Daten und der potenziell Absturz verursacht Besetzung-Fehler in der dritten Zeile des Codes 1.4 zur Kompilierzeit abgefangen wird.

Autoboxing

Eines der kleinen Ärgernisse wurde von der Arbeit mit den Sammlungen Objekte sowie entfernt. Die meiste Zeit, werden numerische Rohdaten in primitiven, Nichtgegenstand Datentypen wie Int und Double gespeichert. Nur ihr Objekt, Klasse basierenden Entsprechungen kann jedoch in einer Auflistung gespeichert. Der Programmierer musste in 1.4 manuell ein neues Objekt erstellen, jedes Mal, wenn er oder sie eine Zahl in eine Sammlung und Stimmen, die ihn an einen primitiven Datentyp zurück, nachdem es abzog war speichern wollte. Autoboxing ermöglicht Java, dies automatisch zu behandeln, also den Code:

Data.Add (neue Double(4.0));

Kann jetzt mit ersetzt werden:

Data.Add(4.0);

Java wird die Konvertierung von "Doppel" in "Double" automatisch zu behandeln.

Erweiterte For-Schleife

Beim Speichern von Daten in einem Array oder einer Sammlung Datenstrukturen kann der Programmierer die for-Schleife aus dem vertrauten traditionellen verkürzen:

für (Int X = 0; X < data.size(); x++) {}

// do something with each double in "data"

}

Je mehr kompakt und leicht zu lesen:

für (Doppel-d: Daten) {}

// do something with each double in "data"

}

Aufzählungstypen

Java 1.5 "Enum"-Typ in die Sprache aufgenommen. Traditionell, wenn ein Programmierer zu verfolgen aller möglichen Werte einer Option, er hatte Zuordnen von Wörtern zu Ganzzahlen mit dem Datentyp "final static Int" wie folgt:

publicclass Ampel {}

int color = 0;

final static int RED = 0;

final static int YELLOW = 1;

final static int GREEN = 2;

}

Dies war mühsam und fehleranfällig-Fehler. Zum Beispiel, was passiert, wenn die Farbe "4?" wird Enum stellt die Lösung weit elegantere:

Ampel-Farbe = Stoplight.RED;

öffentliche Enum Ampel {}

RED, YELLOW, GREEN

};

Im Gegensatz zu den alten Weg "final Static" weiß der Compiler nun was gültige Optionen für "Ampel" sind und die für uns erzwingen können. Als zusätzlichen Bonus wenn der Wert der "Farbe" auf der Konsole ausgegeben wird wird als das englische Wort und nicht als Zahl ausgegeben.