Eftersom Eclipse version 3.1 har fullständigt stöd för de nya funktionerna i J2SE 5.0 (kodnamn "Tiger"). En av de viktigaste konsekvenserna av det stödet är att du kanske inte märker det alls - allt du förväntar dig ska fungera för J2SE 1.4, inklusive redigering, kompilering, felsökning, snabbrättning, omfaktorisering, källåtgärder, sökning osv fungerar sömlöst med de nya typerna och syntaxen i J2SE 5.0's. I det här dokumentet introducerar vi några av de mer intressanta möjligheterna som Eclipse-användare stöter på när de arbetar med J2SE 5.0.
Om du vill utveckla kod som är kompatibel med J2SE 5.0 behöver du J2SE 5.0 Java Runtime Environment (JRE).
Om du startar Eclipse för första gången med J2SE 5.0 JRE används den som standard.
I annat fall måste du använda inställningssidan
Java > Installerade JRE
för att registrera den i Eclipse.
I det här dokumentet introduceras vissa av de nya språkfunktionerna i J2SE 5.0 kortfattat, men det är ingen riktig självstudiekurs för dessa funktioner.Se för information.
Om du vill använda de nya funktionerna i J2SE 5.0 måste du arbeta med ett projekt som har kompatibilitetsnivå 5.0 aktiverad och 5.0 JRE.
Nya projekt får automatiskt 5.0-kompatibilitet när du väljer en 5.0 JRE på första sidan i
Guiden Nytt Java-projekt:
För mer fininställd kontroll
kan du ställa in kompilatorns kompatibilitetsnivå globalt för en arbetsyta (med inställningssidan
Java > Java > Kompilator)
eller individuellt för varje projekt (från projektets sammanhangsmeny väljer du Egenskaper > Java-kompilator).
Projekt med andra kompatibilitetsnivåer kan samexistera på arbetsytan och vara beroende av varandra.
Du kan också finjustera de typer av kompilatorvarningar och fel som produceras för varje projekt
med hjälp av Egenskaper > Java-kompilator > Fel/varningar > Alternativ för J2SE 5.0
Tack vare generiska typer kan objekt från samma klass på ett säkert sätt verka på objekt av olika typer.
Till exempel möjliggör det en försäkring vid kompilering att en
List<String>
alltid innehåller variabler av typen String
och en List<Integer>
alltid innehåller variabler av typen Integer
.
Eclipse har nya funktioner för sökning efter referenser till generiska typer. Studera följande exempel:
List<Integer>
och använder
Sök > Referenser > Projekt
markeras List-typerna på alla fyra rader:
Med Filtrera inkompatibla lämnas endast referenser till typer som är tilldelningskompatibla med den valda typen:
Med Filtrera inexakta lämnas endast typreferenser med exakt samma signatur:
Med anteckningar bifogar du metadata om hur Java-typer och metoder används
och dokumenteras till Java-källan och sedan kan påverka kompileringen eller
frågas efter vid körning. Med @Override
utlöser du till exempel
en kompileringsvarning om den annoterade metoden inte ersätter en metod i
en superklass:
En mycket användbar anteckning med fullständigt stöd i Eclipse är @SuppressWarnings
.
Studera till exempel en privat metod som för tillfället inte används men som du helst inte vill ta bort:
@SuppressWarnings
:
foo
tas bort:
Enumerationer är typer som instantieras vid körning av en känd antalsbegränsad uppsättning objekt:
Med automatisk typomslutning och automatisk borttagning av typomslutning får du en elegant syntax när primitiva typer tilldelas till eller hämtas från objektreferenser:
Med källmanipuleringsfunktionerna i Eclipse hanterar du automatisk typomslutning sömlöst,
så att korrekta typer ges till nya lokala variabler och korrekt kodhjälp.
För att koden ska förstås är det också möjligt att flagga förekomster av automatisk typomslutning eller icke automatisk typomslutning
som kompileringsvarningar (genom att använda avsnittet
Möjliga programmeringsproblem på inställningssidan
Java > Compiler > Fel/varningar) eller framhäva dem med syntaxfärgning (via avsnittet
Java > Uttryck med automatisk typomslutning på inställningssidan
Java > Redigerar > Syntaxfärgning):
För det vanliga fallet med verkan på varje element i en vektor eller samling i turordning finns en ny och renare syntax i J2SE 5.0. Eclipse innehåller en "foreach"-kodmall som automatiskt kan gissa vilken samling som ska itereras:
Eclipse innehåller även snabbhjälpen "Konvertera till utökad for-slinga" för att
uppgradera for
-slingor med 1.4-format där det är möjligt.