Eclipse-ympäristö ja J2SE 5.0

Versiosta 3.1 lähtien Eclipse sisältää täyden tuen J2SE 5.0:n uusille Java-kielen ominaisuuksille. Et ehkä huomaa tukea ollenkaan, sillä kaikki toiminnot, joiden odotat toimivan J2SE 1.4:ää varten, esimerkiksi muokkaus, käännös, vianmääritys, pikakorjaukset, koodinparannus, lähdetoiminnot ja haku, toimivat saumattomasti J2SE 5.0:n uusien tyyppien ja syntaksin kanssa. Tässä dokumentissa esitellään joitakin kiinnostavimmista toiminnoista, joita Eclipsen käyttäjät löytävät käyttäessään J2SE 5.0:aa.

Edellytykset

Kun halutaan kehittää J2SE 5.0:n kanssa yhteensopivaa koodia, tarvitaan J2SE 5.0- tai J2SE 6.0 Java Runtime Environment (JRE) -ympäristö. Jos käynnistät Eclipsen ensimmäistä kertaa käyttämällä J2SE 5.0 JRE -ympäristöä, se käyttää sitä oletusarvon mukaan. Muussa tapauksessa sinun on rekisteröitävä se Eclipseen oletusasetussivulla Avaa asennettujen JRE-ympäristöjen oletusasetussivun Java > Asennetut JRE-ympäristöt.

Tässä dokumentissa esitellään joitakin J2SE 5.0:n uusia kielen ominaisuuksia hyvin lyhyesti, mutta dokumentti ei ole näiden ominaisuuksien varsinainen opas. Lisätietoja on täällä.

Kääntäjän yhteensopivuustaso

Jos haluat käyttää uusia J2SE 5.0:n ominaisuuksia, käytä projektia, jolle on otettu käyttöön 5.0-yhteensopivuustaso ja version 5.0 JRE-ympäristö. Uudet projektit ovat automaattisesti 5.0-yhteensopivia, kun Avaa ohjatun uuden Java-projektin luontitoiminnon Ohjatun uuden Java-projektin luontitoiminnon ensimmäisellä sivulla valitaan version 5.0 JRE-ympäristö:

Ohjattu uuden projektin luontitoiminto

Kun muunnat J2SE 1.4 -projektin J2SE 5.0 -projektiksi, tee seuraavat toimet:
  1. Varmista, että J2SE 5.0 JRE -ympäristö on asennettu.
  2. Aloita 5.0:n ominaisuuksien käyttö koodissa.
  3. Kun kääntäjävirhe näkyy merkittynä, päivitä projektin yhteensopivuustaso pikakorjauksen avulla:

    Pikakorjaus, jolla otetaan käyttöön J2SE 5.0

Tarkempaa ohjausta varten kääntäjän yhteensopivuustaso voidaan määrittää joko yleisesti työtilaa varten (oletusasetussivulla Avaa Java-kääntäjän oletusasetussivun Java > Kääntäjä) tai yksitellen kutakin projektia varten (valitsemalla projektin pikavalikosta Ominaisuudet > Java-kääntäjä). Työtilassa voi olla toisistaan riippuvaisia projekteja, joilla on eri yhteensopivuustasot. Valitsemalla Ominaisuudet > Java-kääntäjä > Virheet/varoitukset voit myös määrittää, millaisia kääntäjän varoituksia ja virheitä kutakin projektia varten tuotetaan. Yleiset tyypit- ja Huomautukset-osat sisältävät J2SE 5.0 -versiota varten lisättyjä valintoja.

Yleistyypit

Yleistyyppien avulla samaa luokkaa olevat objektit voivat turvallisesti käyttää erityyppisiä objekteja. Niiden avulla voidaan käännösvaiheessa olla varmoja, että List<String> sisältää aina String-objekteja ja List<Integer> sisältää aina Integer-objekteja.

Kaikkialla, missä Eclipse käsittelee muuta kuin yleistyyppiä, se voi käsitellä yleistyyppiä: Lisäksi on lisätty uusi koodinparannustoiminto: Päättele yleiset tyyppiargumentit voi päätellä tyypin parametrit jokaista tyypin viittausta varten luokassa, paketissa tai koko projektissa:

Päättele yleiset tyyppiargumentit -kutsu

Koodinparannustoiminnon kutsun tuloksena on:

Kutsuttu Päättele yleiset tyyppiargumentit

Eclipse-ympäristössä on uusia vaihtoehtoja yleistyyppien viittauksien hakua varten. Tutki tätä esimerkkiä:

Esimerkki, jossa neljä erilaista parametrisoitua List-ilmentymää

Kun valitset viittauksen kohteeseen List<Integer> ja valitset pikavalikosta Hae > Viitteet > Projekti, List-tyypit näkyvät korostettuina kaikilla neljällä rivillä:

Haku ilman suodattimia

Voit suodattaa tulokset käyttämällä Hakunäkymä-valikkoa:

Yhteensopimattomat tyyppiargumentit -suodatin jättää vain viittaukset tyyppeihin, jotka ovat osoituksen kannalta yhteensopivia valitun tyypin kanssa:

Suodata yhteensopimattomat

Epätarkat tyyppiargumentit -suodatin jättää vain tyyppiviittaukset, joilla on tarkalleen sama allekirjoitus:

Epätarkat-suodatin

Huomautukset

Huomautuksilla liitetään metatietoja siitä, kuinka Java-tyyppejä käytetään ja kuinka ne dokumentoidaan Java-lähteelle, ja ne voivat siten vaikuttaa käännökseen tai niistä voidaan tehdä kysely ajon aikana. Esimerkiksi @Override laukaisee kääntäjän varoituksen, jos huomautuksella varustettu metodi ei korvaa yliluokan metodia:

Override-huomautus

Kaiken sen, mitä Java-tyypillä voi tehdä, voi tehdä huomautuksella:

@SuppressWarnings on hyvin hyödyllinen huomautus, jolla on täysi tuki Eclipsessä. Olemassa on esimerkiksi yksityinen metodi, joka on käyttämättömänä mutta jota et halua poistaa:

Varoitus: käyttämätön yksityinen metodi

Kun pikakorjaus kutsutaan varoitusta varten, ehdotukseksi tulee @SuppressWarnings-huomautuksen lisäys:

SuppressWarnings-huomautusta ehdotettu

Kun pikakorjaus valitaan, järjestelmä lisää huomautuksen. Eclipse-kääntäjä ottaa huomautuksen huomioon poistamalla varoituksen kohdasta foo:

SuppressWarnings lisätty

Luetteloinnit

Luetteloinnit ovat tyyppejä, jotka tunnettu, rajallinen objektien joukko luo ajon aikana:

enum-tyyppi

Jälleen kaikki se, mikä voidaan tehdä Java-luokalle, voidaan tehdä luetteloinnille:

Automaattinen lokerointi

Automaattisen lokeroinnin ja lokeroinnin purun ansiosta saadaan sujuvaa syntaksia, kun alkeistyyppejä osoitetaan Object-viittauksille tai noudetaan Object-viittauksista:

automaattinen lokerointi korostettu

Eclipsen lähteen käsittelytoiminnot käsittelevät automaattista lokerointia saumattomasti antaen oikeat tyypit uusille paikallismuuttujille ja oikeat koodinhallinnan aputoiminnot. Koodin ymmärrettävyyden parantamiseksi on myös mahdollista merkitä automaattisen lokeroinnin tai lokeroinnin purun muunnokset:

Parannettu for-silmukka

J2SE 5.0:ssä on uusi, selkeämpi syntaksi sellaista yleistä tapausta varten, jossa jokaista taulukon tai kokoelman elementtiä käsitellään vuorotellen. Eclipse-ympäristön "foreach"-koodimallipohja arvaa toistettavan kokoelman automaattisesti:

foreach-mallipohjaa ehdotettu

Mallipohjan valinnan seuraus:

foreach-mallipohja lisätty

Eclipse-ympäristössä on myös "Muunna parannetuksi silmukkaa varten" -pika-apu for-silmukoiden päivittämiseksi 1.4-tyyliin aina, kun mahdollista.

Staattiset tuonnit

Staattisten tuontien avulla voit käyttää muiden luokkien staattisia kenttiä ja metodeja ilman tarkennusta.

Java-muokkausohjelman sisällönhallinnan aputoiminto voi ehdottaa tällaisia staattisia jäseniä ja lisää tarvittaessa staattisen tuonnin. Jos haluat käyttää tällaisia ehdotuksia, määritä staattisen tuonnin suosikit Avaa Sisällönhallinnan aputoiminto - Suosikit -oletusasetussivun Java > Muokkausohjelma > Sisällönhallinnan aputoiminto > Suosikit -oletusasetussivulle.

J2SE 1.4 -koodin muuntaminen 5.0-versioon

Eclipse sisältää seuraavat työkalut J2SE 1.4 -koodin päivittämiseksi 5.0-version mukaiseksi: Hauskoja koodaustuokioita!