Pierwsze kroki w środowiskach Eclipse 3.1 i J2SE 5.0

Środowisko Eclipse 3.1 oferuje pełną obsługę nowych funkcji środowiska J2SE 5.0 (nazwa kodowa "Tiger"). 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 J2SE 5.0 (JRE). 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 skorzystać z okna dialogowego Zainstalowane środowiska JRE (Okna > Preferencje > Java > Zainstalowane środowiska JRE), aby zarejestrować je w środowisku Eclipse.

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.

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. Nowe projekty można łatwo oznaczyć jako zgodne z wersją 5.0 na pierwszej stronie kreatora Nowy > Projekt:

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

Dla lepszej kontroli poziom zgodności kompilatora można ustawić globalnie dla obszaru roboczego (Okna > Preferencje > Java > Kompilator) lub osobno dla każdego projektu (w menu kontekstowym projektu należy wybrać 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 > Opcje narzędzia 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:

Ponadto została dodana nowa operacja refaktoryzacji. Opcja Ustal argumenty typu ogólnego pozwala ustalić parametry typów dla każdego odwołania do typu w klasie, pakiecie lub całym projekcie:

Wywoływanie opcji Ustal argumenty typu ogólnego

Skutek wywołania operacji refaktoryzacji:

Wywołanie opcji Ustal argumenty typu ogólnego

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

Przykład czterech różnych sparametryzowanych instancji obiektu List

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

Wyszukiwanie bez filtrów

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

Opcja Filtruj niezgodne pozostawia tylko odwołania do typów, które są zgodne z wybranym typem ze względu na przypisanie:

Filtruj niezgodne

Opcja Filtruj niedokładne pozostawia tylko odwołania do typów o identycznej sygnaturze:

Filtruj niedokładne

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:

Adnotacja Override

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:

Proponowana adnotacja 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:

Wyróżnione 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 asystenta kodu. Dla łatwiejszego zrozumienia kodu możliwe jest również oznaczanie wystąpień automatycznego pakowania oraz odpakowywania jako ostrzeżeń kompilacji (Okna > Preferencje > Java > Kompilator > Błędy/ostrzeżenia > Opcje narzędzia J2SE 5.0 > Konwersje pakowania i wypakowywania) lub wyróżnianie ich przy użyciu funkcji kolorowania składni (Okna > Preferencje > Java > Edytor > Kolorowanie składni > Java > Wyrażenia automatycznie odpakowane):

Włączanie wyróżniania dla automatycznego pakowania

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 3.1 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 3.1 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.

Inne

Wszystkie pozostałe funkcje środowiska J2SE 5.0 są obsługiwane przez narzędzia środowiska Eclipse do edytowania, wyszukiwania oraz modyfikowania kodu:

Powodzenia w kodowaniu!