Aan de slag met Eclipse en J2SE 5.0

Vanaf release 3.1 biedt Eclipse volledige ondersteuning voor de nieuwe functis van J2SE 5.0 (codenaam "Tiger"). Een van de belangrijkste aspecten van deze ondersteuning is dat u er weinig tot niets van merkt. Alle functies waarvan u verwacht dat deze normaal functioneren voor J2SE 1.4 (zoals bewerken, compileren, fouten opsporen, snelfixes, herstructureringen, bronacties, zoekopdrachten, enzovoort) zijn volledig compatibel met de nieuwe typen en syntaxis van J2SE 5.0. In dit document kunt u kennismaken met de belangrijkste mogelijkheden voor gebruikers van Eclipse die werken met J2SE 5.0.

Vereisten

Om code te ontwikkelen die compatibel is met J2SE 5.0, hebt u een J2SE 5.0-JRE (Java Runtime Environment) nodig. Als u Eclipse voor het eerst start in een J2SE 5.0-JRE, wordt deze standaard gebruikt. In alle andere gevallen moet u gebruikmaken van de voorkeurenpagina De voorkeurenpagina Geïnstalleerde JRE's openen Java > Geïnstalleerde JRE's om deze in Eclipse te registreren.

Dit document bevat een korte beschrijving van een aantal nieuwe taalfuncties in J2SE 5.0, maar is geen volledige zelfstudie voor deze functies. Klik hier voor meer informatie.

Compatibiliteitsniveau van compileerprogramma

Om de nieuwe functies van J2SE 5.0 te kunnen gebruiken, moet uw project zijn ingesteld op compatibiliteitsniveau 5.0 en is een 5.0 JRE vereist. Nieuwe projecten worden automatisch ingesteld op 5.0-compatibiliteit als u een 5.0 JRE kiest op de eerste pagina van de De wizard Nieuw Java-project starten wizard Nieuw Java-project:

Wizard voor nieuw project

Als u een bestaand J2SE 1.4-project wilt converteren naar J2SE 5.0, doet u het volgende:
  1. Zorg ervoor dat er een J2SE 5.0-JRE is geïnstalleerd.
  2. Gebruik de 5.0-functies in uw code.
  3. Wanneer er een compileerfout wordt gesignaleerd, gebruikt u Snelfix om het compatibiliteitsniveau van het project bij te werken:

    Snelfix om J2SE 5.0 te activeren

Voor meer flexibiliteit kan het compatibiliteitsniveau van het compileerprogramma voor een heel werkgebied (ga naar de voorkeurenpagina Open de voorkeurenpagina Java - Compileerprogramma Java > Compileerprogramma) of voor elk project afzonderlijk (kies Eigenschappen > Java-compileerprogramma in het voorgrondmenu van het project) worden ingsteld. Projecten met verschillende compatibiliteitsniveaus kunnen naast elkaar bestaan in één werkgebied, en zijn dan afhankelijk van elkaar. Het is ook mogelijk om per project verschillende soorten compileerwaarschuwingen en -fouten in te stellen. Kies hiervoor de menuoptie Eigenschappen > Java-compileerprogramma > Fouten/Waarschuwingen > Opties voor J2SE 5.0

Generieke typen

Generieke typen zorgen ervoor dat objecten van dezelfde klasse veilig kunnen worden gebruikt voor objecten van verschillende typen. Zo wordt er tijdens het compileren voor gezorgd dat een List<String> altijd Strings (tekenreeksen) bevat en een List<Integer> altijd Integers (gehele getallen) bevat.

Overal waar in Eclipse een niet-generiek type kan worden afgehandeld, kan ook een generiek type worden afgehandeld: Bovendien is er een nieuwe herstructureringsfunctie toegevoegd. Met Generieke type-argumenten afleiden kunnen typeparameters worden afgeleid voor elk type verwijzing in een klasse, een pakket of een heel project:

Generieke type-argumenten afleiden

Als u deze herstructureringsfunctie aanroept, krijgt u het volgende resultaat:

Resultaat van de functie Generieke type-argumenten afleiden

Eclipse bevat een aantal nieuwe opties om te zoeken naar verwijzingen naar generieke typen. Bekijk het volgende voorbeeld:

Voorbeeld met vier verschillende geparametriseerde instances van List

Als u de verwijzing naar List<Integer> selecteert en Zoeken > Verwijzingen > Project kiest, worden de List-typen op allevier de regels gemarkeerd:

Zoeken zonder filters

Met behulp van de view Zoeken kunnen de zoekresultaten worden gefilterd:

Filter incompatibel toont alleen verwijzingen naar typen die compatibel zijn met het geselecteerde type:

Filter incompatibel

Filter niet-exact toont alleen verwijzingen naar typen met exact dezelfde handtekening:

Filter niet-exact

Annotaties

Annotaties bevatten metagegevens over hoe Java-typen en methoden worden gebruikt en vastgelegd in de Java-bron, en kunnen het compilatieproces beïnvloeden of tijdens de verwerking worden opgevraagd. Zo zal door @Override een compileerwaarschuwing worden geïnitieerd als een methode in een superklasse niet worden overschreven door de geannoteerde methode:

Override-annotatie

Alles wat u kunt doen met een Java-type, kunt u ook doen met een annotatie:

Een erg nuttige annotatie die volledig door Eclipse wordt ondersteund, is @SuppressWarnings. Stel, u hebt een besloten methode die u momenteel niet gebruikt, maar ook niet wilt verwijderen:

Waarschuwing: niet-gebruikte private-methode

Als u Snelfix voor de waarschuwing oproept, wordt voorgesteld om de annotatie @SuppressWarnings toe te voegen:

SuppressWarnings voorgesteld

Door de snelfix te selecteren wordt de annotatie toegevoegd. Het Eclipse-compileerprogramma honoreert de annotatie door de waarschuwing voor foo te verwijderen:

SuppressWarnings ingevoegd

Opsommingen

Opsommingen zijn typen die tijdens uitvoeringstijd geïnstantieerd worden door een eindige reeks objecten:

enum-type

Alles wat u met een Java-klasse kunt doen, kunt u ook doen met een opsomming:

Automatisch in kader plaatsen

Met de functies om code automatisch in een kader te plaatsen of een kader automatisch te verwijderen kunt u de syntaxis voor het toewijzen of ophalen van elementaire typen aan of uit objectverwijzingen verfraaien:

Automatisch in kader plaatsen geselecteerd

De bronbewerkingsfuncties van Eclipse zijn volledig geïntegreerd met de automatische kaderfuncties, zodat en juiste typen worden gekoppeld aan nieuwe lokale variabelen en de juiste codehulp wordt geboden. Om de code beter te kunnen begrijpen, is het ook mogelijk om voorvallen van automatische (un)boxing-conversies als compileerwaarschuwingen te markeren (kies het gedeelte Mogelijke programmeerproblemen van de voorkeurenpagina De voorkeurenpagina Fouten/Waarschuwingen openen Java > Compileerprogramma > Fouten/Waarschuwingen), of de syntaxis te accentueren met bepaalde kleuren (met behulp van het gedeelte Java > Expressies van automatische un(boxing)-conversie van de voorkeurenpagina De voorkeurenpagina Syntaxiskleuren openen Java > Editor > Syntaxiskleuren):

Accentuering voor automatisch in kader plaatsen inschakelen

Uitgebreide for-lus

In J2SE 5.0 is een nieuwe, verbeterde syntaxis beschikbaar voor veelvoorkomende bewerkingen die op elk element van een array of collectie moeten worden uitgevoerd. Eclipse bevat een sjabloon voor de code "foreach", waarmee wordt geraden welke collectie u wilt herhalen:

foreach-sjabloon voorgesteld

Als u deze sjabloon kiest, krijgt u het volgende resultaat:

foreach-sjabloon ingevoegd

U kunt ook de snelhulpfunctie "Converteren naar verbeterde for-lus" van Eclipse gebruiken om waar mogelijk for-lussen te converteren van de oude stijl (1.4) naar de nieuwe stijl.

Overige functies

Alle overige functies van J2SE 5.0 worden op flexibele wijze afgehandeld door de hulpprogramma's van Eclipse om code mee te bewerken, zoeken en wijzigen: Wij wensen u veel plezier met dit programma!