Eclipse a J2SE 5.0

Od verze 3.1 platforma Eclipse zahrnuje úplnou podporu nových funkcí jazyka Java přítomných ve specifikaci J2SE 5.0. Jedním z nejdůležitějších důsledků této podpory je, že ji vůbec nemusíte zaznamenat -- vše, co očekáváte od J2SE verze 1.4, včetně úprav, kompilování, ladění, rychlých oprav, refaktoringů, akcí se zdrojem, hledání atd., bude bez problémů pracovat s novými typy a syntaxí J2SE verze 5.0. V tomto dokumentu vám představíme některé z nejzajímavějších schopností produktu Eclipse, které uživatelé naleznou při práci s J2SE 5.0.

Všimněte si, že obě čísla verzí ('1.5' a '5.0') se používají k identifikaci verze Java 2 Platform Standard Edition. Verze '5.0' označuje verzi produktu, zatímco '1.5' je verze pro vývojáře a také se používá pro úroveň shody.

Nezbytné předpoklady

Chcete-li vytvářet kód kompatibilní se standardem J2SE 5.0, budete potřebovat běhové prostředí Java Runtime Environment (JRE) verze J2SE 5.0 nebo J2SE 6.0. Pokud Eclipse spustíte poprvé s použitím J2SE 5.0 JRE, bude jej potom nadále používat standardně. Jinak budete muset k registraci v Eclipse použít stránku předvoleb Otevřít stránku předvoleb instalovaných prostředí JRE Java > Instalovaná prostředí JRE.

Tento dokument velmi stručně představuje některé z nových funkcí jazyka v J2SE 5.0, nejde však o řádný výukový materiál pro tyto funkce. Další informace naleznete zde.

Úroveň shody kompilátoru

Abyste mohli používat nové vlastnosti J2SE 5.0, musíte pracovat na projektu se zapnutou úrovní shody 1.5, který dále má k dispozici JRE verze 5.0. Nové projekty získají shodu s verzí 1.5 automaticky při výběru 5.0 JRE na první stránce Otevřít průvodce novým projektem Java Průvodce novým projektem Java:

Průvodce novým projektem

Abyste mohli převést stávající projekt J2SE 1.4 na verzi J2SE 5.0, můžete to provést jednoduše:
  1. Ujistěte se, že máte nainstalováno běhové prostředí J2SE 5.0 JRE.
  2. Začněte ve svém kódu používat funkce verze 5.0.
  3. Bude-li označena chyba kompilace, s použitím funkce Rychlé opravy aktualizujte úroveň shody projektu:

    Rychlá oprava k zapnutí J2SE 5.0

  4. K zajištění přesnější kontroly lze úroveň shody kompilátoru nastavit globálně pro celý pracovní prostor (pomocí stránky předvoleb Otevřít stránku předvoleb kompilátoru Java Java > Kompilátor) nebo individuálně pro jednotlivé projekty (v kontextové nabídce projektu vyberte Předvolby > Kompilátor Java).

    Stránka vlastností kompilátoru

V pracovním prostoru mohou současně existovat projekty s odlišnými úrovněmi shody a být na sobě vzájemně závislé. Pro každý projekt můžete také podrobně nastavit druhy vytvářených varování a chybových hlášení kompilace, a to pomocí Předvoleb > Kompilátor Java > Chyby/varování Sekce Generické typy a Anotace obsahují volby přidané pro J2SE 5.0.

Generické typy

Generické typy umožňují objektům stejné třídy bezpečně fungovat s objekty odlišných typů. Například umožňují v průběhu kompilace zabezpečit to, aby List<String> vždy obsahoval String a List<Integer> vždy obsahoval datové typy Integer.

Kdekoli platforma pracuje s negenerickými typy, může pracovat i s generickým typem: Kromě toho byl přidán nový refaktoring: Odvodit argumenty generického typu může odvodit parametry typu pro každý odkaz na typ ve třídě, balíku nebo v celém projektu.

Spuštění odvození argumentů generického typu

Vyvolání refaktoringu způsobí:

Vyvolaná funkce Odvodit argumenty generického typu

Platforma Eclipse poskytuje nové volby vyhledávání odkazů na generické typy. Posuďte tento příklad:

Příklad se čtyřmi parametrizovanými instancemi seznamu

Výběr odkazu na List<Integer> a použití položky kontextové nabídky Hledat > Odkazy > Projekt zvýrazní typy seznamů na všech čtyřech řádkách:

Hledat bez filtrů

S použitím nabídky pohled Vyhledávání lze výsledky filtrovat:

Filtr Nekompatibilní argumenty typu ponechává pouze odkazy na typy, které jsou kompatibilní pro přiřazení se zvoleným typem:

Filtrovat nekompatibilní

Filtr Nepřesné argumenty typu ponechává pouze odkazy na typy s přesně shodnou signaturou:

Filtrovat nepřesné

Anotace

Anotace připojují metadata o tom, jak jsou používány typy a metody Java a jak jsou dokumentovány ve zdrojovém textu Java a mohou ovlivnit kompilaci nebo být dotazovány za běhu. Například @Override spustí varování kompilace v případě, že anotovaná metoda nepotlačí metodu v super třídě:

Potlačit anotaci

Vše co lze dělat s typem Java, můžete provádět i s anotací:

Velmi užitečná anotace s plnou podporou v prostředí Eclipse je @SuppressWarnings. Uvažujte například, že se momentálně nepoužívá soukromá metoda, ale raději byste ji nemazali:

Varování: Nepoužitá soukromá metoda

Vyvolání rychlé opravy při varování navrhne přidání anotace @SuppressWarnings:

Navrženo potlačování varování

Volba rychlé opravy přidá anotaci. Kompilátor Eclipse dodrží anotaci odebráním varování na foo:

Vloženo potlačení varování

Výčty

Výčty jsou typy, které jsou konkretizovány za běhu známou, konečnou sadou objektů:

výčtový typ

Opět, cokoli lze provádět ve třídě Java, můžete provádět i ve výčtu:

Automatické uzavírání

Automatické uzavírání a automatické otevírání umožňují elegantní syntaxi v případě, že jsou k odkazům na objekty přiřazeny primitivní typy nebo jsou z nich načítány:

Zvýrazněno automatické uzavírání

Funkce prostředí Eclipse pro manipulaci se zdrojovým kódem pracují s automatickým uzavíráním plynule, přičemž poskytují správné typy lokálním proměnným a správná usnadnění práce s kódem. V zájmu srozumitelnosti zdrojového kódu lze opatřit příznakem rovněž instance převodů automatického uzavírání a automatického otevírání:

Rozšířená smyčka For

Pro běžné případy provádění operací střídavě v každém prvku pole nebo kolekce umožňuje J2SE 5.0 použití nové, čistější syntaxe. Eclipse nabízí šablonu kódu "foreach", která umí automaticky odhadnout kolekci, která má být iterována:

Navržena šablona foreach

Volba šablony způsobí:

Vložena šablona foreach

Eclipse také nabízí rychlou asistenci "Převést na rozšířený cyklus For" k přechodu na smyčky for vyšší verze 1.4, kdekoli je to možné.

Statické importy

Statické importy umožňují použití statických polí a metod z jiných tříd bez kvalifikace.

Obsahová asistence v editoru Java může navrhovat takovéto statické členy a podle potřeby přidávat statické importy. Chcete-li získávat takovéto návrhy, proveďte konfiguraci oblíbených položek statických importů na stránce předvoleb Otevírá stránku předvoleb Oblíbené položky obsahové asistence Java > Editor > Obsahová asistence > Oblíbené položky.

Převod kódu J2SE 1.4 na kód 5.0

Platforma Eclipse poskytuje níže uvedené nástroje, jež vám pomohou při převádění kódu J2SE 1.4 na kód 5.0: Spokojené programování!