Kom godt i gang med Eclipse 3.2 og J2SE 5.0

Siden release 3.1 indeholder Eclipse fuld understøttelse af de nye funktioner i J2SE 5.0 (med kodenavnet "Tiger"). En af de vigtigste følger af denne understøttelse er, at du nok slet ikke lægger mærke til den - alt det, du forventer fungerer i J2SE 1.4, herunder redigering, kompilering, fejlfinding, hurtige rettelser, refactoring, kildefunktioner og søgning, fungerer også problemfrit med J2SE 5.0's nye typer og syntaks. I dette dokument beskrives kort nogle af de mest interessante muligheder, som Eclipse-brugere, der arbejder med J2SE 5.0, vil støde på.

Forudsætninger

For at du kan udvikle kode, der er kompatibel med J2SE 5.0, skal du have en J2SE 5.0 JRE (Java Runtime Environment). Hvis du starter Eclipse første gang ved hjælp af J2SE 5.0 JRE, bruger Eclipse det miljø som standard. Ellers skal du bruge indstillingssiden Åbner indstillingssiden Installerede JRE'er Java > Installerede JRE'er til at registrere det i Eclipse.

Dokumentet beskriver kort nogle af de nye sprogfunktioner i J2SE 5.0, men det er ikke et egentligt øveprogram i brugen af disse funktioner. Der er flere oplysninger her.

Compilerens kompatibilitetsniveau

Hvis du vil bruge de nye J2SE 5.0-funktioner, skal du arbejde med et projekt, som niveau 5.0 er aktiveret for, og som har en 5.0 JRE. Nye projekter gøres automatisk kompatible med 5.0, hvis du vælger en 5.0 JRE på første side i Åbner guiden Nyt Java-projekt guiden Nyt Java-projekt:

Guiden Nyt projekt

Gør følgende, hvis du vil konvertere et eksisterende J2SE 1.4-projekt til J2SE 5.0:
  1. Kontrollér, at du har installeret J2SE 5.0.
  2. Brug 5.0-funktionerne i koden.
  3. Hvis det bliver angivet, at der er en compilerfejl, skal du bruge Hurtig rettelse til at opdatere projektets kompatibilitetsniveau:

    Hurtig rettelse til aktivering af J2SE 5.0

Hvis du vil have flere finjusteringmuligheder, kan du indstille kompatibilitetsniveauet globalt for et arbejdsområde (med indstillingssiden Åbner indstillingssiden for Java-compileren Java > Compiler) eller for hvert enkelt projekt (vælg Egenskaber > Java-compiler på projektets kontekstmenu). Projekter med forskellige kompatibilitetsniveauer kan eksistere side om side i arbejdsområdet og være afhængige af hinanden. Du kan også justere, hvilke compileradvarsler og -fejl der bliver genereret for hvert projekt, ved hjælp af Egenskaber > Java-compiler > Fejl/advarsler > J2SE 5.0-indstillinger

Generiske typer

Med generiske typer kan objekter af samme klasse fungerer problemfrit på objekter, der har en anden type. De tillader f.eks. garantier på kompileringstidspunktet for, at en List<String> altid indeholder strenge , og at List<Integer> altid indeholder heltal.

Alle steder, hvor Eclipse håndterer en ikke-generisk type, kan det håndtere en generisk type: Derudover er der tilføjet en ny refactoring: Udled generiske typeargumenter kan udlede typeparametre for hver typereference i en klasse, en pakke eller et helt projekt:

Aktivering af Udled generiske typeargumenter

Når du starter refactoring, sker følgende:

Startet Udled generiske typeargumenter

Eclipse har nye indstillinger for søgning efter referencer til generiske typer. Eksempel:

Eksempel med fire forskellige List-forekomster med parametre

Vælg referencen til List<Integer>, og brug Søg > Referencer > Projekt, hvis du vil fremhæve listetyperne på alle fire linjer:

Søgning uden filtre

Ved hjælp af menuen i oversigten Søg kan resultaterne filtreres:

Filtrér inkompatible efterlader kun referencer til typer, som er tildelingskompatible med den valgte type:

Filtrér inkompatible

Filtrér unøjagtige efterlader kun typereferencer med nøjagtigt samme signatur:

Filtrér unøjagtige

Annotationer

Annotationer tilknytter metadata om, hvordan Java-typer og metoder bruges og dokumenteres, i Java-kilden og kan sørge for kompilering eller være genstand for forespørgsler på udførelsestidspunktet. @Override resulterer f.eks. i en compileradvarsel, hvis den annoterede metode ikke tilsidesætter en metode i en superklasse:

Annotationen override

Du kan gøre det samme med en annotation, som du kan gøre med en Java-type:

En meget nyttig annotation, der er fuldt understøttet i Eclipse, er @SuppressWarnings. Tag f.eks. en privat metode, som ikke benyttes for øjeblikket, men som du helst ikke vil slette:

Advarsel: ubrugt privat metode

Hvis du starter en hurtig rettelse i forbindelse med advarslen, foreslår funktionen, at du tilføjer annotationen @SuppressWarnings:

SuppressWarnings foreslås

Hvis du vælger den hurtige rettelse, tilføjes annotationen. Eclipse-compileren tilgodeser annotationen ved at fjerne advarslen på foo:

SuppressWarnings indsat

Enumerationer

Enumerationer er typer, som oprettes på udførelsestidspunktet af et kendt, finit sæt objekter:

enum-type

Igen gælder det, at alt, hvad du kan gøre i forbindelse med en Java-klasse, kan du gøre i forbindelse med en enumeration:

Automatisk indramning

Automatisk indramning og automatisk ikke-indramning (autoboxing/unboxing) gør det muligt at benytte elegant syntaks, når primitive typer tildeles eller hentes fra objektreferencer:

fremhævning af automatisk indramning aktiveret

Eclipses kildemanipulationsfunktioner håndterer autoboxing problemfrit og giver de nye lokale variabler de korrekte typer og den korrekte Kodeassistance. For at fremme kodeforståelsen kan du også markere forekomster af autoboxing- eller autounboxing-konverteringer som kompileringsadvarsler (vha. afsnittet Potentielle programmeringsproblemer på indstillingssiden Åbner indstillingssiden Fejl/Advarsler Java > Compiler > Fejl/Advarsler) eller fremhæve dem med syntaksfarver (via afsnittet Java > Automatisk (ikke)indrammede udtryk på indstillingssiden Åbner indstillingssiden Syntaksfarver Java > Editor > Syntaksfarver):

Aktivér fremhævning af automatisk indrammede udtryk

Udvidet for-løkke

Til de almindelige tilfælde hvor man udfører funktioner på et element i et array eller en samling ad gangen, har J2SE 5.0 en ny, renere syntaks. Eclipse indeholder en "foreach"-kodeskabelon, som automatisk kan gætte, hvilken samling der skal gentages:

foreach-skabelon foreslås

Når du vælger skabelonen, sker følgende:

foreach-skabelon indsat

Eclipse indeholder også en "Konvertér til udvidet for-løkke"-hurtigassistance, der gør det muligt at opgradere til 1.4 for-løkker.

Andet

Alle andre funktioner i J2SE 5.0 håndteres fleksibelt af de værktøjer, Eclipse har til redigering, søgning og kodemanipulation: