Az Eclipse 3.1 és a J2SE 5.0 kezdeti lépései

Az Eclipse 3.1 teljes mértékben támogatja a J2SE 5.0 (fedőneve "Tiger") új szolgáltatásait. Ennek a támogatásnak ez egyik legfontosabb következménye, hogy ezt talán észre sem veszi --minden, aminek a J2SE 1.4 esetében működnie kell, beleértve a szerkesztést, a fordítást, a gyorsjavításokat, az átdolgozást, a forrásműveleteket, a keresést stb., zökkenőmentesen fog működni a J2SE 5.0 új típusaival és szintaxisával. Ebben a dokumentumban néhány érdekesebb képességet mutatunk be, amelyekkel az Eclipse felhasználók találkozhatnak a J2SE 5.0 használata közben.

Előfeltételek

A J2SE 5.0 változatának megfelelő kód fejlesztéséhez J2SE 5.0 Java futási környezetre (JRE) van szükség. Ha az Eclipse első indításakor J2SE 5.0 JRE környezetet használ, akkor alapértelmezésben ez kerül használatra. Egyébként a Telepített JRE környezetek párbeszédablak segítségével Windows > Beállítások > Java > Telepített JRE környezetek) lehet regisztrálni az Eclipse programmal.

Ez a dokumentum a J2SE 5.0 néhány új nyelvi szolgáltatását mutatja be röviden, de nem nevezhető a szolgáltatások igazi ismertetőjének.

Fordító egyeztetési szint

Az új J2SE 5.0 szolgáltatások használtához a projekt 5.0 egyeztetési szintjének engedélyezettnek kell lennie. Az új projektek beállítása 5.0 egyeztetési szintre egyszerűen elvégezhető az Új > Projekt varázsló első oldalán:

Új projekt varázsló

Ha egy meglévő J2SE 1.4 projektet J2SE 5.0 szintre akar átalakítani, akkor tegye az alábbiakat:
  1. Győződjön meg róla, hogy, J2SE 5.0 JRE környezet van telepítve.
  2. Használja az 5.0 szolgáltatásokat a kódban.
  3. Ha fordítói hiba jelentkezik, akkor a gyorsjavítás segítségével frissítse a projekt egyeztetési szintjét:

    Gyorsjavítás a J2SE 5.0 engedélyezésére

Ha még finomabban szeretné felügyelni a fordítói megfelelés szintjét, akkor az globálisan is beállítható a munkaterületen (Windows > Beállítások > Java > Fordító), vagy minden egyes projekt számára külön (válassza a a projekt előugró menüjének Tulajdonságok > Java Fordító menüpontját). Különböző egyeztetési szintű projektek együtt élhetnek a munkaterületen, és függhetnek egymástól. Az egyes projektek számára előállított különböző fordító figyelmeztetések és hibák is finomhangolhatók a Tulajdonságok > Java fordító > Hibák/Figyelmeztetések > J2SE 5.0 beállítások menüpontban

Általános típusok

Az általános típusok lehetővé teszik egy osztály objektumai számára, hogy biztonságosan működjenek különböző típusú objektumokkal. Például lehetővé teszik, hogy fordítás közben biztosítsuk, hogy a Lista<Karaktersorozat> mindig tartalmazzon Karaktersorozatokat, és a Lista<Egész szám> mindig tartalmazzon Egész számokat.

Ha az Eclipse kezeli a nem általános típusokat, akkor mindig lépes az általános típusok kezelésére is:

Emellett új átdolgozással is bővült: az Általános típus argumentumok kikövetkeztetése ki tudja következtetni a típus paramétereket egy osztály, csomag vagy a teljes projekt minden típus hivatkozásához:

Általános típus argumentumok kikövetkeztetésének meghívása

Az átdolgozás meghívásának eredményeképp:

Meghívott általános típus argumentumok kikövetkeztetése

Az Eclipse 3.1 új lehetőségeket kínál az általános típusok hivatkozásainak keresésekor. Vegyük az alábbi példát:

Példa a Lista négy különböző paraméterezett példányával

A Lista<Egész szám> hivatkozás kiválasztása és a Keresés > Hivatkozások > Projekt menüpont használata kiemeli a Lista típusokat mind a négy sorban:

Keresés szűrők nélkül

A Keresés nézet menü segítségével lehet szűrni az eredményeket:

Az Inkompatibilis szűrő csak azokat a típus hivatkozásokat hagyja meg, amelyek hozzárendelési szempontból inkompatibilisek a kiválasztott típussal:

Inkompatibilis szűrő

A Pontatlan szűrő csak a pontosan megegyező aláírással rendelkező típus hivatkozásokat hagyja meg:

Pontatlan szűrő

Feljegyzések

A feljegyzések metaadatokat tartalmaznak a Java típusok és metódusok használatának és a Java forráshoz való dokumentálásuknak a módjáról és így hatással lehetnek a fordításra, illetve lekérdezhetőek futás közben. Például az @Override aktivál egy fordító figyelmeztetést, ha a feljegyzett metódus nem definiálja újra a szülőosztály metódusát:

Újradefiniálás feljegyzés

Bármi, ami a Java típussal elvégezhető, az a feljegyzéssel is:

Az Eclipse egyik nagyon hasznos, teljes támogatású feljegyzése a @SuppressWarnings. Például vegyünk egy privát metódust, ami jelenleg használaton kívüli, de nem szeretné törölni:

Figyelmeztetés: használaton kívüli privát metódus

Ha a figyelmeztetés megjelenésekor meghívja a gyorsjavítást, akkor az egy @SuppressWarnings feljegyzés hozzáadását javasolja:

Felajánlott figyelmeztetések kikapcsolása feljegyzés

A gyorsjavítás kiválasztásával a feljegyzés hozzáadásra kerül. Az Eclipse fordító a feljegyzés hatására eltávolítja a foo figyelmeztetést:

Beszúrt figyelmeztetések kikapcsolása feljegyzés

Felsorolások

A felsorolások olyan típusok, amelyeket egy ismert, véges objektum készlet példányosít futás közben:

enum típus

Itt is érvényes, hogy minden, amit egy Java osztállyal tenni lehet, az a felsorolással is működik:

Automatikus típusátalakítás

Az automatikus típusátalakítás és -visszaalakítás elegáns szintaxist tesz lehetővé primitív típusok objektum hivatkozásokhoz rendelésekor illetve lekérésekor:

kiemelt automatikus típusátalakítás

Az Eclipse forráskezelése zökkenőmentesen kezeli az automatikus típusátalakítás funkciót, a helyes típusokat adja meg az új helyi változók számára és helyesen használja a kódsegédet. A kód bemutatásához az automatikus típusátalakítás vagy az automatikus visszaalakítás példányainak fordítási figyelmeztetésként való jelzése is lehetséges, (Ablak > Beállítások > Java > Fordító > Hibák/Figyelmeztetések > J2SE 5.0 beállítások > átalakítások és visszaalakítások), vagy a szintaxis színezésével is kiemelhetők (Ablak > Beállítások > Java > Szerkesztő > Szintaxisszínezés > Java > Automatikus típus(vissza)alakítás kifejezések):

Automatikus típusátalakítás kiemelésének engedélyezése

Bővített for ciklus

Abban a gyakori esetben, amikor egy tömb vagy kollekció minden egyes elemén dolgozik, a J2SE 5.0 új, tisztább szintaxist tesz lehetővé. Az Eclipse 3.1 egy "foreach" kódsablont biztosít, amely automatikusan kitalálja az iterálandó kollekciót:

felajánlott foreach sablon

A sablon kiválasztásának hatására:

beillesztett foreach sablon

Az Eclipse 3.1 egy "Átalakítás bővített for ciklusra" gyorssegédet is biztosít az 1.4 stílusú for ciklusok frissítésére, ahol lehetséges.

Egyebek

A J2SE 5.0 minden egyéb szolgáltatását rugalmasan kezelik az Eclipse szerkesztő, kereső és kódkezelő eszközei:

Kellemes kódolást!