();
data.add ( nuova doppia ( 4.0) ;
valore Double = data.get ( 0 ) ;
la dichiarazione di ArrayList diventa leggermente più ingombrante , ma i programmatori in grado di riconoscere i benefici il compilatore ora gestisce la fusione di dati e . l'errore potenzialmente incidente che causano fuso nella terza riga del codice 1.4 e 'colto in fase di compilazione .
autoboxing
Uno dei fastidi meschini è stato rimosso dal lavoro con gli oggetti e collezioni . maggior parte delle volte , i dati numerici grezzi saranno conservati in primitivi , tipi di dati non oggetto come int e double . Tuttavia, solo il loro oggetto , gli equivalenti di classe a base può essere conservato in una collezione . nel 1.4 , il programmatore ha dovuto creare manualmente un nuovo oggetto ogni volta che lui o lei voleva memorizzare un numero in una collezione , e lanciare di nuovo a un tipo di dati primitivo quando è stato tirato fuori . Autoboxing Java permette di gestire automaticamente, in modo che il codice :
data.add ( nuova doppia ( 4,0) ) ;
ora può essere sostituito con :
data.add ( 4.0) ;
Java gestirà la conversione da "doppia " a " double" automaticamente .
avanzata per loop
Quando la memorizzazione dei dati in un array o uno qualsiasi dei dati di raccolta strutture , il programmatore può accorciare il tradizionale ciclo for dal familiare :
for (int x = 0; x < data.size (); x + + ) {
//fare qualcosa con ogni doppio in " dati "
}
Per il più compatto e di facile lettura :
per ( doppia d : dati ) {
//fare Tipi qualcosa con ogni doppio in " dati "
}
enumerati
Java 1.5 ha aggiunto il tipo " enum " per la lingua . Tradizionalmente, se un programmatore voleva tenere traccia di tutti i possibili valori di una opzione , lui o lei ha dovuto mappare parole di interi utilizzando il " int finale statico" tipo di dati , in questo modo:
public class Semaforo {
int color = 0;
static final int ROSSO = 0;
static final int GIALLO = 1;
final int VERDE statico = 2;
}
Questo è stato noioso e soggetto ad errori , ad esempio , cosa succede se il colore diventa Enum rende la soluzione molto più elegante. " 4 ? " :
Semaforo Colore = Stoplight.RED ;
public enum Semaforo {
ROSSO, GIALLO , VERDE
} ;
differenza della vecchia maniera " statica finale " , il compilatore ora sa che cosa opzioni valide sono per " Semaforo " e li può far valere per noi. come bonus aggiuntivo , se il valore di "Colore" è stampato sulla console , verrà stampata come la parola inglese , e non come un numero .