();
data.add ( neue Doppel ( 4.0) ;
Double-Wert = data.get (0);
die Erklärung der ArrayList wird etwas unhandlich, aber Programmierer können die Vorteile erkennen der Compiler verarbeitet jetzt die Daten Gießen und . die potenziell Crash - verursachenden Besetzung Fehler in der dritten Zeile des 1.4 -Code wird bei der Kompilierung gefangen.
Autoboxing
Einer der kleinen Belästigungen von der Arbeit entfernt worden mit den Sammlungen Objekte. meisten der Zeit , werden rohe numerische Daten in primitiven , nicht- Datentypen wie int und double. jedoch nur ihre Objekt-, Klassen -basierte Äquivalente können in einer Sammlung gespeichert werden gespeichert werden. 1.4 in der Programmierer musste manuell ein neues Objekt jedes Mal, wenn er oder sie wollte eine Zahl in einer Sammlung speichern und warf sie zurück zu einem primitiven Datentyp , wenn es herausgezogen wurde . Autoboxing erlaubt Java dies automatisch zu behandeln , so dass der Code :
data.add ( neue Doppel (4,0 ) );
kann jetzt ersetzt werden durch:
data.add (4,0 );
Java wird die Umwandlung von "double " auf " double" automatisch .
Verbesserte For-Schleife
behandeln Wenn die Speicherung von Daten in einem Array oder keine der Sammlung von Daten Strukturen kann der Programmierer verkürzen die traditionelle for-Schleife aus dem vertrauten :
for (int x = 0; x < data.size (); x + +) {
//do something with jeweils doppelt in "data"
}
die kompakter und leicht zu lesen :
für (Doppel d: data) {
//do etwas mit jeder Doppelseite in "data"
}
Aufzählungstypen
Java 1.5 hat den " Enum " Art der Sprache . Traditionell, wenn ein Programmierer gesucht , den Überblick über all die möglichen Werte einer Option zu halten, hatte er oder sie in Worte zu ganzen Zahlen mit der "final static int " Datentyp , wie so abbilden :
public class Ampel {
int color = 0;
final static int RED = 0;
final static int GELB = 1;
final static int GREEN = 2;
}
Dies war eine mühsame und Bug - anfällig Zum Beispiel , was passiert, wenn Farbe wird Enum macht die Lösung viel eleganter . " 4 ? ":
Ampel Farbe = Stoplight.RED ;
public enum Bremslicht {
ROT, GELB, GRÜN
};
Gegensatz zu dem alten "final static" Weg , der Compiler nun weiß, was gültige Optionen sind für die " Ampel " und kann sie für uns durchzusetzen. als zusätzlichen Bonus , wenn der Wert von "Farbe" auf der Konsole ausgegeben wird , wird es wie das englische Wort , und nicht als Zahl zu drucken.