« Programmation Java/Transtypage » : différence entre les versions

Contenu supprimé Contenu ajouté
Automatique : Mise à jour de la navigation entre les chapitres
Ligne 208 :
<source lang="java">
List integers = methodeRenvoyantDesIntegers();
for(i=0;i<integers.size();i++) {
{
Integer integer = (Integer)integers.get(i);
int actuel = Integer.parseInt(integer);
Ligne 215 ⟶ 214 :
}
</source>
Alors qu'avec Java 5, il suffit dn'écrireest plus nécessaire de passer par <code>parseInt()</code> :
<source lang="java5">
List integers = methodeRenvoyantDesIntegers();
for(i=0;i<integers.size();i++) {
{
int actuel = (Integer)integers.get(i);
methodNecessitantUnInt(actuel);
}
</source>
On voit que les <code>int</code> et les <code>Integer</code> sont utilisés indifféremment.
 
Toutefois, il n'est pas possible de déclarer un type générique avec un type primitif.
Ligne 235 ⟶ 233 :
int n = counters.get(0);
</source>
 
 
Autre exemple, le code suivant renvoie l'erreur <code>inconvertible types</code> :
<source lang="java5">
public static void main(String[] args) {
for(i=0;i<integers.size();i++) {
System.out.println((float)args[i])
}
</source>
Il faut donc écrire<ref>http://docs.oracle.com/javase/tutorial/java/data/converting.html</ref> :
public static void main(String[] args) {
for(i=0;i<integers.size();i++) {
System.out.println((Float.valueOf(args[i])).floatValue())
}
</source>
 
==Références==
<references/>
 
{{NavChapitre|prev=Classes internes|next=Types génériques}}