Platforma Eclipse a narzędzie J2SE 5.0

Od wersji 3.1, środowisko Eclipse oferuje pełną obsługę nowych opcji języka Java, dostępnych w środowisku J2SE 5.0. Jedną z najważniejszych konsekwencji tej obsługi jest fakt, że można jej w ogóle nie zauważyć - wszystkie operacje, które powinny działać w środowisku J2SE 1.4, w tym edytowanie, kompilowanie, debugowanie, szybkie poprawki, operacje refaktoryzacji, akcje źródłowe, wyszukiwanie itp., będą funkcjonowały bezproblemowo z nowymi typami i składnią środowiska J2SE 5.0. W tym dokumencie zostanie opisanych kilka z najciekawszych możliwości, z jakimi może się spotkać użytkownik środowiska Eclipse współpracującego ze środowiskiem J2SE 5.0.

Wymagania wstępne

Do pisania kodu zgodnego ze środowiskiem J2SE 5.0 niezbędne jest środowisko wykonawcze programów Java (JRE) w wersji J2SE 5.0 lub J2SE 5.0. Jeśli środowisko Eclipse jest uruchamiane po raz pierwszy wraz ze środowiskiem J2SE 5.0 JRE, to będzie ono używane domyślnie. W przeciwnym razie należy zarejestrować je w środowisku Eclipse na stronie preferencji Otwiera stronę preferencji Zainstalowane środowiska JRE Java > Zainstalowane środowiska JRE.

Ten dokument opisuje w dużym skrócie niektóre nowe funkcje języka środowiska J2SE 5.0, ale nie jest to w istocie kurs dotyczący tych funkcji. Więcej informacji można znaleźć tutaj.

Poziom zgodności kompilatora

Aby korzystać z nowych funkcji środowiska J2SE 5.0, należy pracować z projektem z włączonym poziomem zgodności z wersją 5.0 i korzystającym ze środowiska JRE 5.0. Poziom zgodności z wersją 5.0 jest w nowych projektach włączany automatycznie po wybraniu środowiska JRE 5.0 na pierwszej stronie Otwiera kreator Nowy projekt Java Kreator Nowy projekt Java:

Kreator Nowy projekt

Aby przekształcić istniejący projekt w wersji J2SE 1.4 w projekt w wersji J2SE 5.0, wystarczy wykonać następujące czynności:
  1. Upewnij się, że zainstalowane zostało środowisko J2SE 5.0 JRE.
  2. Rozpocznij stosowanie w kodzie funkcji z wersji 5.0.
  3. Gdy pojawi się oznaczenie błędu kompilatora, użyj funkcji szybkiej poprawki w celu zaktualizowania poziomu zgodności projektu:

    Funkcja szybkiej poprawki włączająca poziom zgodności J2SE 5.0

Aby zapewnić bardziej szczegółową kontrolę, poziom zgodności kompilatora można ustawić globalnie dla obszaru roboczego (na stronie preferencji Otwiera stronę preferencji kompilatora Java Java > Kompilator) lub osobno dla każdego projektu (z menu kontekstowego projektu wybierz opcję Właściwości > Kompilator Java). Projekty o różnych poziomach zgodności mogą współistnieć w obrębie obszaru roboczego i zależeć od siebie nawzajem. Istnieje również możliwość dostosowania rodzajów ostrzeżeń i błędów generowanych przez kompilator dla każdego z projektów przy użyciu opcji Właściwości > Kompilator Java > Błędy/ostrzeżenia. Sekcje Typy ogólne oraz Adnotacje zawierają opcje dodane na potrzeby środowiska J2SE 5.0.

Typy ogólne

Typy ogólne umożliwiają obiektom tej samej klasy działać bezpiecznie na obiektach innych typów. Pozwalają zapewnić na etapie kompilacji, że obiekt List<String> zawsze będzie zawierał wartość typu String, a obiekt List<Integer> zawsze będzie zawierał wartość typu Integer.

W każdym miejscu, gdzie środowisko Eclipse obsługuje typ inny niż ogólny, może obsługiwać również typ ogólny: Dodano również nową opcję refaktoryzacji: Ustal argumenty typu ogólnego, która umożliwia ustal enie parametrów typu dla każdego odwołania do typu w danej klasie, pakiecie lub całym projekcie.

Wywoływanie opcji ustalania argumentów typu ogólnego

Skutek wywołania operacji refaktoryzacji:

Wywołanie opcji Ustal argumenty typu ogólnego

Środowisko Eclipse udostępnia nowe opcje dla wyszukiwania odwołań do typów ogólnych. Poniżej przedstawiono przykład:

Przykład z czterema różnymi, parametryzowanymi instancjami typu List

Wybranie odwołania do obiektu List<Integer> oraz użycie opcji Szukaj > Odwołania > Projekty z menu kontekstowego spowoduje wyróżnienie typu List we wszystkich czterech wierszach:

Szukanie bez filtrów

Wyniki mogą być filtrowane przy użyciu menu widoku wyszukiwania:

Filtr Niezgodne argumenty typu pozostawia tylko odwołania do typów zgodnych z wybranym typem pod względem przypisania:

Filtruj niezgodne

Filtr Niedokładne argumenty typu pozostawia tylko odwołania do typów o identycznej sygnaturze:

Filtrowanie niedokładnych

Adnotacje

Adnotacje służą do dołączania do źródła Java metadanych dotyczących sposobu używania i dokumentowania typów i metod Java, dzięki czemu mogą one wpływać na kompilację lub mogą być przedmiotem zapytań w czasie wykonywania. Na przykład adnotacja @Override wyzwoli ostrzeżenie kompilatora, jeśli metoda z tą adnotacją nie przesłania metody w nadklasie:

Przesłanianie adnotacji

Wszystkie operacje dopuszczalne dla typu Java są również dopuszczalne dla adnotacji:

Bardzo przydatną adnotacją z pełną obsługą w środowisku Eclipse jest adnotacja @SuppressWarnings. Jako przykład może posłużyć metoda private, która w danym momencie nie jest używana, ale raczej nie powinna zostać usunięta:

Ostrzeżenie: nieużywana metoda private

Wywołana funkcja szybkiej poprawki dla tego ostrzeżenia proponuje dodanie adnotacji @SuppressWarnings:

Propozycja adnotacji SuppressWarnings

Wybranie tej szybkiej poprawki powoduje dodanie adnotacji. Kompilator Eclipse uwzględni tę adnotację, usuwając ostrzeżenie dotyczące metody foo:

Wstawiona adnotacja SuppressWarnings

Wyliczenia

Wyliczenia są typami, których instancje są tworzone w czasie wykonywania ze znanym, skończonym zbiorem obiektów:

typ wyliczeniowy

Ponownie wszystkie operacje dopuszczalne dla klasy Java są dopuszczalne dla wyliczenia:

Automatyczne pakowanie

Automatyczne pakowanie i odpakowywanie pozwala zachować przejrzystość składni, gdy typy podstawowe są przypisywane do odwołań do obiektów lub z nich pobierane:

podświetlone automatyczne pakowanie

Funkcje modyfikowania kodu źródłowego środowiska Eclipse obsługują automatyczne pakowanie, dostarczając poprawne typy dla nowych zmiennych lokalnych oraz poprawne opcje aktywnej obsługi kodu. Aby kod był bardziej zrozumiały, można również oznaczyć miejsca, w których zachodziła konwersja związana z automatycznym pakowaniem i odpakowywaniem:

Rozszerzona pętla for

Dla częstych przypadków wykonywania kolejnych działań na poszczególnych elementach tablicy lub kolekcji środowisko J2SE 5.0 oferuje nową, bardziej przejrzystą składnię. Środowisko Eclipse udostępnia szablon kodu "foreach" z możliwością automatycznego odgadnięcia kolekcji, która ma być iterowana:

proponowany szablon foreach

Skutek wybrania szablonu:

wstawiony szablon foreach

Środowisko Eclipse udostępnia również opcję szybkiej asysty Przekształć w rozszerzoną pętlę for służącą do aktualizowania w miarę możliwości stylu pętli for z wersji 1.4.

Instrukcje importowania static

Instrukcje importowania static umożliwiają używanie pól i metod static z innych klas bez kwalifikacji.

Aktywna obsługa treści w edytorze Java może sugerować takie składowe static i w razie potrzeby dodaje instrukcję importowania static. Aby otrzymywać takie propozycje, należy skonfigurować preferowane instrukcje importowania static na stronie preferencji Otwiera stronę preferencji Ulubione dla Aktywnej obsługi treści Java > Edytor > Aktywna obsługa treści > Ulubione.

Konwertowanie kodu J2SE 1.4 na wersję 5.0

Środowisko Eclipse oferuje następujące narzędzia, które ułatwiają konwertowanie kodu J2SE 1.4 do wersji 5.0: Powodzenia w kodowaniu!