();
data.add ( nouveau double ( 4.0) ;
valeur Double = data.get (0);
la déclaration de la ArrayList devient un peu plus lourd , mais les programmeurs peuvent reconnaître les avantages le compilateur gère maintenant le casting de données et . l'erreur de casting potentiellement accident causant le dans la troisième ligne du code 1.4 est pris au moment de la compilation.
Autoboxing
Une des petites nuisances a été retiré de travail avec les objets de collections ainsi . plupart du temps , les données numériques brutes seront stockées dans primitifs, des types de données non - objet comme int et double . Cependant, seulement leur objet , les équivalents basés sur les classes peut être stocké dans une collection . dans la version 1.4 , le programmeur a dû créer manuellement un nouvel objet à chaque fois qu'il ou elle voulait enregistrer un numéro dans une collection , et jette-le revenir à un type de données primitif quand il a été retiré. Autoboxing permet Java pour gérer cela automatiquement , de sorte que le code : Photos
data.add ( nouveau double ( 4.0) ) ;
peut maintenant être remplacé par :
data.add (4,0) ;
Java gérera la conversion de "double" à "Double" automatiquement .
Enhanced boucle For
Quand stocker des données dans un tableau ou une des données de collecte structures , le programmeur peut raccourcir la traditionnelle boucle du familier :
for (int x = 0; x < data.size (); x + +) {
//faire quelque chose avec chaque double dans "data"
}
Pour le plus compact et facile à lire :
pour ( Double D: data) {
//faire Types quelque chose avec chaque double dans "data"
}
énumérés
Java 1.5 ajoute le type " enum " pour la langue. Traditionnellement, si un programmeur voulait garder une trace de toutes les valeurs possibles d'une option , il ou elle devait cartographier mots entiers en utilisant le " static final int" type de données , comme suit:
feu d'arrêt de classe publique {
int couleur = 0;
static final int Rouge = 0;
static final int JAUNE = 1;
static final int VERT = 2;
}
c'était fastidieux et bug -prone Par exemple, ce qui se passe si la couleur devient Enum rend la solution beaucoup plus élégante. "4 ? ":
feu d'arrêt color = Stoplight.RED ;
public enum feu d'arrêt {
ROUGE, JAUNE, VERT
};
Contrairement à l'ancienne " static " , le compilateur sait maintenant ce des options valides pour " Feu d'arrêt " et peuvent les appliquer pour nous. comme un bonus supplémentaire , si la valeur de "Couleur" est imprimé à la console, il sera imprimé comme le mot anglais , et non pas comme un numéro.