Eclipse 3.1 include supporto per le nuove funzioni di J2SE 5.0 (il cui nome in codice è "Tiger"). La conseguenza più importante della presenza di tale supporto, è che tutte le funzioni di J2SE 1.4, tra cui l'editazione, la compilazione, il debug, le correzioni rapide, i refactoring, le azioni relative all'origine, la ricerca, ecc., funzioneranno in modo simile con i nuovi tipi e la nuova sintassi di J2SE 5.0. In questo documento, vengono introdotte alcune tra le funzioni più interessanti di J2SE 5.0.
Per sviluppare codice compatibile con J2SE 5.0, sarà necessario l'ambiente JRE (Java Runtime Environment) J2SE 5.0. Se Eclipse viene avviato per la prima volta, per impostazione predefinita verrà utilizzato un JRE J2SE 5.0. In caso contrario, sarà necessario utilizzare la finestra JRE installati (Finestra > Preferenze > Java > JRE installati) e registrarlo con Eclipse.
Questo documento contiene una breve introduzione ad alcune nuove funzioni relative al linguaggio in J2SE 5.0, ma non una vera e propria esercitazione per tali funzioni.
Per utilizzare le nuove funzioni di J2SE 5.0, è necessario utilizzare un progetto per il quale è stato abilitato il livello di conformità 5.0. I nuovi progetti possono essere contrassegnati conformi per 5.0 nella prima pagina della procedura guidata Nuovo > Progetto:
Per un migliore controllo, è possibile impostare il livello di conformità del compilatore per tutto lo spazio di lavoro (Finestra > Preferenze > Java > Compilatore) o per ciascun progetto (dal menu di scelta rapida del progetto, scegliere Proprietà > Compilatore Java). I progetti con livelli di conformità diversi possono coesistere nello spazio di lavoro e dipendere uno dall'altro. È anche disponibile regolare il tipo di avvisi ed errori di compilazione prodotti per ciascun progetto (Proprietà > Compilatore Java> Errori/Avvisi > Opzioni di J2SE 5.0
I tipi generici consentono agli oggetti di una stessa classe di operare su oggetti di tipo diverso.
Ad esempio, assicurano che in fase di compilazione
List<String>
contenga sempre String
e che List<Integer>
contenga
sempre Integer
.
Laddove Eclipse gestisce un tipo non generico, può gestire anche un tipo generico:
Eclipse 3.1 fornisce nuove opzioni durante la ricerca dei riferimenti a tipi generici. Si consideri questo esempio:
List<Integer>
e utilizzando
Cerca > Riferimenti > Progetto
verranno evidenziati i tipi di elenco in tutte le quattro righe:
Filtra incompatibile lascia solo i riferimenti ai tipi compatibili al tipo selezionato:
Filtra inesatto lascia solo i riferimenti ai tipi con la stessa firma:
Le annotazioni informano i metadati sulle modalità d'uso dei tipi Java e dei metodi
nell'origine Java e su come possono influenzare la compilazione e essere sottoposti a
query durante il runtime. Ad esempio @Override
attiverà un avviso di compilazione
se il metodo annotato non sovrascrive un metodo in una superclasse:
Tutte le operazioni che è possibile eseguire con un tipo Java , possono essere eseguite con le annotazioni:
Un'annotazione molto utile, completamente supportata Eclipse è @SuppressWarnings
.
Ad esempio, si consideri un metodo privato attualmente inutilizzato ma che non si desidera eliminare:
@SuppressWarnings
:
foo
:
Le enumerazioni sono tipi istanziati al runtime da un insieme di oggetti noto e completo:
Anche in questo caso, qualsiasi operazione che è possibile eseguire con una classe Java, può essere eseguita con un'enumerazione:
Le funzioni di boxing e unboxing automatico consentono di produrre una sintassi lineare quando vengono assegnati tipi primitivi ai riferimenti agli oggetti, o quando vengono da essi richiamati:
Le funzioni di manipolazione dell'origine di Eclipse gestiscono la funzione di boxing automatico, fornendo i tipi corretti alle nuove variabili locali e un nuovo assistente al codice. Per comprendere il codice, è anche possibile indicare le istanze di boxing e unboxing automatici come avvisi di compilazione (Finestra > Preferenze > Java > Compilatore > Errori/Avvisi > Opzioni di J2SE 5.0 > Conversioni di boxing e unboxing), o evidenziarle utilizzando i colori per la sintassi Finestra > Preferenze > Java > Editor > Colorazione della sintassi > Java > Espressioni boxing automatico):
Nei casi in cui si opera su i singoli elementi di una matrice o di un insieme, J2SE 5.0 consente una nuova sintassi, più chiara. Eclipse 3.1 fornisce un modello di codice "foreach" che rileva automaticamente la raccolta da esaminare:
Eclipse 3.1 inoltre fornisce un assistente rapido "Converti in avanzato per ciclo" per aggiornare i
cicli for
di stile 1.4 laddove possibile.
Tutte le altre funzioni di J2SE 5.0 vengono gestite dagli strumenti di editazione, ricerca e manipolazione codice di Eclipse: