Eclipse en J2SE 5.0

Vanaf Eclipse 3.1 wordt volledige ondersteuning geboden voor de nieuwe Java-functies van J2SE 5.0. 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, snelfixen, 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 JRE (Java Runtime Environment) van J2SE 5.0 of J2SE 6.0 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 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 Wizard Nieuw Java-project starten wizard Nieuw Java-project:

Wizard 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 Voorkeurenpagina Java -
Compileerprogramma openen Java > Compileerprogramma) of voor elk project afzonderlijk (kies Eigenschappen > Java-compileerprogramma in het contextmenu van het project) worden ingesteld. 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 via Eigenschappen > Java-compileerprogramma > Fouten/Waarschuwingen De secties Generieke typen en Annotaties bevatten 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 Argumenten van generiek type afleiden kunnen typeparameters worden afgeleid voor elk type verwijzing in een klasse, een pakket of een heel project:

Argumenten van generiek type
afleiden activeren

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

Resultaat van de functie
Argumenten van generiek type afleiden

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

Voorbeeld met vier
verschillende geparametriseerde List-instantiëringen

Als u de verwijzing naar List<Integer> selecteert en in het contextmenu de optie Zoeken > Verwijzingen > Project kiest, worden de List-typen op alle vier de regels geaccentueerd:

Zoeken zonder
filters

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

Het filter Incompatibele type-argumenten toont alleen verwijzingen die compatibel zijn om aan het geselecteerde type te worden toegewezen:

Filter
Incompatibele type-argumenten

Het filter Niet-exacte type-argumenten toont alleen typeverwijzingen met dezelfde signatuur:

Filter
Niet-exacte type-argumenten

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:

Annotatie Override

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:

enumtype

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

Automatische boxing-conversie

Met de functies voor automatische boxing-conversie kunt u de syntaxis voor het toewijzen of ophalen van primitieve typen aan of uit objectverwijzingen verfraaien:

Automatische boxing-conversie geaccentueerd

De bronbewerkingsfuncties van Eclipse zijn volledig geïntegreerd met de functies voor automatische boxing-conversie, zodat en juiste typen worden gekoppeld aan nieuwe lokale variabelen en de juiste contenthulp wordt geboden. Om inzicht te krijgen in de code is het tevens mogelijk instances van automatische (un)boxing-conversie te markeren:

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.

Statische imports

Door middel van statische imports kunt u statische velden en methoden uit andere klassen gebruiken zonder kwalificatie.

Contenthulp in de Java-editor kan statische leden voorstellen en voegt waar nodig een statische import toe. Als u de suggesties wilt activeren, configureert de favorieten voor statische imports op de voorkeurenpagina Voorkeurenpagina
Contenthulp openen Java > Editor > Contenthulp > Favorieten.

Code van J2SE 1.4 converteren naar 5.0

Eclipse biedt de volgende hulpprogramma's om code van J2SE 1.4 te converteren naar 5.0: Wij wensen u veel plezier met dit programma!