Eclipse-ympäristön ja J2SE 5.0:n johdanto

Versiosta 3.1 lähtien Eclipse sisältää täyden tuen J2SE 5.0:n (koodinimeltään "Tiger") uusille 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 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 > J2SE 5.0 -asetukset voit myös määrittää, millaisia kääntäjän varoituksia ja virheitä kutakin projektia varten tuotetaan.

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 on neljä erilaista parametrisoitua List-ilmentymää

Kun valitset viittauksen kohteeseen List<Integer> ja valitset 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:

Suodata yhteensopimattomat jättää vain viittaukset tyyppeihin, jotka ovat osoituksen kannalta yhteensopivia valitun tyypin kanssa:

Suodata yhteensopimattomat

Suodata epätarkka jättää vain tyyppiviittaukset, joilla on tarkalleen sama allekirjoitus:

Suodata epätarkka

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:

Korvaushuomautus

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ärtämiseksi automaattinen lokerointi ja lokeroinnin purku voidaan myös merkitä kääntäjän varoituksiksi (Mahdolliset ohjelmointihäiriöt -osassa oletusasetussivulla Avaa virheiden ja varoitusten oletusasetussivun Java > Kääntäjä > Virheet/varoitukset) tai korostaa käyttämällä syntaksin väritystä (Java > Automaattisen lokeroinnin (ja lokeroinnin poistamisen) lausekkeet -osassa oletusasetussivulla Avaa syntaksin värityksen oletusasetussivun Java > Muokkausohjelma > Syntaksin väritys):

Korostuksen käyttöönotto automaattista lokerointia varten

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.

Muut

Eclipsen muokkaus-, haku- ja koodinkäsittelytyökalut käsittelevät kaikkia J2SE 5.0:n muita toimintoja joustavasti: Hauskoja koodaustuokioita!