Od verze 3.7.1 zahrnuje platforma Eclipse úplnou podporu nových funkcí jazyka Java přítomných ve specifikaci Java SE 7. Jedním z nejdůležitějších důsledků této podpory je to, že ji vůbec nemusíte zaznamenat - vše, co očekáváte od Java verze 6, včetně úprav, kompilování, ladění, rychlých oprav, refaktoringů, akcí se zdrojem, hledání atd., bude bez problémů pracovat s novou syntaxí Java verze 7. 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 Java 7.
Všimněte si, že obě čísla verzí ('1.7' a '7') se používají k identifikaci verze Java Platform Standard Edition. Verze '7' označuje verzi produktu, zatímco '1.7' je verze pro vývojáře a také se používá pro úroveň shody kompilátoru.
Chcete-li vytvářet kód kompatibilní se standardem Java 7, budete potřebovat běhové prostředí Java Runtime Environment (JRE) verze Java 7.
Pokud Eclipse spustíte poprvé s použitím JRE Java 7, bude jej potom nadále používat standardně.
Jinak budete muset k registraci v Eclipse použít stránku předvoleb
Java > Instalovaná prostředí JRE.
Můžete nakonfigurovat také prováděcí prostředí Java 7 prostřednictvím stránky předvoleb
Java > Instalovaná prostředí JRE > Prováděcí prostředí:
Chcete-li převést existující projekt Java na verzi Java 7, otevřete Vlastnosti Systémové knihovny JRE a vyberte prováděcí prostředí: JavaSE-1.7.
Popis rozhraní API prováděcího prostředí pro Java 7 je k dispozici na příslušném webu aktualizace. Po instalaci je možné, že budou zjištěny neplatné odkazy na knihovny systému Java 7:
Java 7 nabízí sadu malých vylepšení jazyka Java (tzv. projekt Coin), nový bajtový kód pro dynamické vyvolávání metod a mnoho doplňků knihoven. Tento dokument velmi stručně představuje některé z nových funkcí jazyka ve verzi Java 7, nejde však o řádný výukový materiál pro tyto funkce. Další informace naleznete zde.
try
-with-resources.Tato změna jazyka umožňuje vynechat v řadě situací explicitní argumenty typu na konstruktory parametrizovaných tříd. Kompilátor odvodí vynechané argumenty typu na základě očekávaného typu.
Je-li to možné, vkládá obsahová asistence pro vyvolání konstruktorů místo explicitních argumentů typu kosočtverec.
Kompilátor také dokáže zjistit redundantní specifikace argumentů typu, které můžete odebrat pomocí rychlé opravy Odebrat argumenty typu.
Tato volba je standardně zakázána, ale lze ji povolit na stránce předvoleb
Java > Kompilátor > Chyby/varování:
Kromě toho můžete pomocí rychlé asistence také vkládat odvozené argumenty typu kosočtverce.
Pokyn: To funguje jako rychlá oprava i v kódu verzí 1.5 a 1.6, kde je kosočtverec chyba syntaxe.
V jazyce Java 7 můžete pomocí jednoho bloku catch zachycovat více typů výjimek.
Značení výskytů v editoru Java lze použít ke zvýraznění příkazů, které generují konkrétní výjimku.
Akce Zdroj > Uzavřít do > Blok try/multi-catch umožňuje uzavřít vybrané příkazy do bloku try/multi-catch. To je k dispozici také jako rychlá oprava Uzavřít do bloku try/multi-catch v případě, že existuje více nezachycených výjimek.
Rychlá oprava Přidat výjimky k existující klauzuli catch umožňuje přidat k existující klauzuli catch nezachycené výjimky.
Rychlá asistence Použít samostatné bloky catch umožňuje nahradit klauzuli vícenásobného zachycení jednotlivými bloky catch, pro každou výjimku v klauzuli multi-catch jedním.
Rychlá asistence Přesunout výjimky do samostatného bloku catch umožňuje vyjmout jednu či více vybraných výjimek z klauzule multi-catch.
Rychlá asistence Zkombinovat bloky catch umožňuje zkombinovat samostatné bloky catch do jednoho bloku multi-catch. Tato rychlá asistence se nabízí jen, když mají všechny tyto bloky catch stejné tělo.
Kompilátor ohlásí chybu, pokud byla výjimka v klauzuli multi-catch již zachycena alternativní výjimkou. Rychlá oprava Odebrat výjimku umožňuje takovou výjimku odebrat.
Kromě toho formátovač nabízí volby Zalamování řádků pro syntaxi příkazu multi-catch.
Ty lze nakonfigurovat na stránce předvoleb
Java > Styl kódu > Formátovač v části Zalamování řádků > Příkazy > 'multi-catch'.
Příkaz try
-with-resources zajistí, že každý prostředek - java.lang.AutoCloseable
- je na konci příkazu uzavřen.
Značení výskytů v editoru Java podporuje syntaxi příkazu try
-with-resources. Uzavření '}' příkazu try
-with-resources je označeno jako bod ukončení metody, pokud implicitní vyvolání metoda close()
vyvolá výjimku. Také je zvýrazněna odpovídající proměnná prostředku.
Kompilátor zjišťuje neošetřené výjimky vyvolané automatickým vyvoláním metody close()
na prostředku.
Kompilátor může doporučit použití příkazu try
-with-resources, pokud byly prostředky explicitně uzavřeny, ale nebyly deklarovány v příkazech try
-with-resources.
Tato volba je standardně zakázána, ale lze ji povolit na stránce předvoleb
Java > Kompilátor > Chyby/varování:
Kromě toho formátovač nabízí volby Zalamování řádků a Mezera pro syntaxi příkazu try
-with-resources.
Ty lze nakonfigurovat na stránce předvoleb
Java > Styl kódu > Formátovač v části Zalamování řádků > Příkazy > 'try-with-resources' a Mezera > Řídicí příkazy > 'try-with-resources'.
Kompilátor Java 7 generuje varování na webu deklarace metody varargs nebo konstruktoru s nekonkretizovatelným formálním parametrem varargs. Toto varování lze potlačit pomocí anotace @SafeVarargs.
Rychlá oprava Přidat @SafeVarargs je nabízena pro varování ohledně potenciálního znečištění haldy při deklaracích metod.
Tato rychlá oprava je nabízena také z webů volání.
Rychlá oprava Odebrat @SafeVarargs je nabízena pro chybné použití anotace @SafeVarargs.
Ve výrazu příkazu switch můžete použít objekt typu String.
Rychlá asistence Převést 'switch' na 'if-else' je určena pro řetězce v příkazu switch.
Všimněte si, že se tato rychlá asistence vyhýbá výjimce NullPointerException ve výsledném kódu.
V jazyce Java 7 lze integrálové typy (byte, short, int a long) vyjádřit rovněž pomocí systému binárních čísel. Kromě toho se může kdekoli mezi číslicemi číselného literálu vyskytovat libovolný počet znaků podtržítka (_).
Funkce pro změnu hodnoty proměnné během ladění podporuje podtržítka v číselných literálech a binárních literálech:
Události hover dokumentace Javadoc pro odkazy na polymorfní metody zobrazují podpis skutečně použité metody.