« Programmation Java/Transtypage » : différence entre les versions
Contenu supprimé Contenu ajouté
m →Cas des types primitifs : that's not the point. short it is not even guaranteed to be 16 bits long at runtime. Conversion is a matter of the language spec, and will work regardless of the amount of bits chosen by the implementation at runtime. |
|||
Ligne 187 :
=== Autoboxing ===
Java 5 introduit un mécanisme permettant la simplification du transtypage, appelé ''autoboxing''. Ce mécanisme permet d'utiliser indifféremment [[../Types de base|les types primitifs et les classes wrappers]]. Exemple :
Avant Java 5, il fallait écrire :
<source lang="java">
{ </source>
Alors qu'avec Java 5, il suffit d'écrire :
<source lang="
{ </source>
On voit que les int et les Integer sont utilisés indifféremment.
Toutefois, il n'est pas possible de déclarer un type générique avec un type primitif.
Il faut utiliser [[../Type de base#Les classes wrappers|la classe englobante correspondante]].
Exemple :
<source lang="java5">
ArrayList<Integer> counters = new ArrayList<Integer>();
counters.add(500);
int n = counters.get(0);
</source>
{{NavChapitre|prev=Classes internes|next=Types génériques}}
|