Frisläppandet av Java 1.5 , även kallad J2SE 5.0 , introducerades en mängd nya och användbara funktioner . Old Java 1.4 gurus kan fortfarande arbeta sin magi , men om du är ett det är definitivt värt din tid att titta på några av skillnaderna mellan Java 1.5 och Java 1.4 . Många frågor om den gamla utgåvan har åtgärdats . Generics
Den största skillnaden mellan de två Java utgåvor är den nya funktionen av generika . Generics kan du lämna den typ av ett visst argument eller fält tvetydig . När du instansiera klassen i koden , kan du ange vilken typ den ska använda . De är praktiskt för datastrukturer såsom listor eller träd , så att du kan skriva en enda klass för att hantera strukturer av INTS , strängar eller något annat .
För Loops
en annan stor skillnad är en förbättring för loop syntax . Istället för att hantera iteratorer , kan du bara skriva en for-loop som automatiskt kommer att gå igenom varje post i en iterable struktur , eller alla objekt i en array .
Autoboxing och Unboxing
I Java 1.4 , när du använde wrapper klasser för de olika primitiva typer , var du tvungen att ta itu med dem som någon annan klass , med sina konstruktorer och metoder accessor . I Java 1.5 , kan du använda instanser av en wrapper klass precis som en primitiv typ , och Java vet vad du menar . Addera Enums
Java 1.5 introducerar enums , förkortning för uppräkningar . Dessa är i grunden anpassade typer . När du gör en enum , lista dig de olika giltiga värden . Du kan sedan använda din enum som en primitiv typ . Det är mycket bättre än att skapa listor över de slutliga ints för dina konstanter .
Matrisargument
Nu finns det en ny syntax för passerande matriser som argument till funktioner . Istället för att använda en array som argument , kan du använda den nya " ... " syntax. Sedan , i stället för att konstruera en matris för att passera in till argumentet , kan du lista bara de element i ditt funktionsanrop och det kommer automatiskt att packa dem i en array .
Statisk Import
En annan ny funktion är möjligheten att importera statiska medlemmar i klasser . Hellre än att skriva gränssnitt som bara har statiska fält , kan du skriva faktiska klasser med dem och bara använda statisk import . Addera Anteckningar Kommentarer
Den sista stora skillnaden mellan de två Java utsläpp är en ny funktion på meta - data- anteckningar . Dessa är små lappar till kompilatorn du kan fästa på dina metoder , säga till den att automatiskt lägga till vissa metoder eller fält , eller behandla metoden annorlunda .