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

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 17 :
short s;
s = 15; // <-- erreur générée, 15 est typé statiquement de type int
// s = (short) 15; fonctionne (conversion explicite)
s = s + s ; // <-- erreur générée, chaque sous-expression est convertie en int
// et l'expression s + s est typée de type int.
// s = (short) (s + s) fonctionne
int n;
long l;
 
n = s; // correct : conversion implicite
n = n + 1Ll // <-- erreur générée, la sous-expression gauche est convertie en long
</source>
 
==== Cas des types références ====
La ''classe'' d'un objet ne peut évidemment être convertie : durant toute sa durée de vie, il s'agit toujours de la classe dans laquelle est défini le constructeur employé lors sa création. Le ''type d'une référence'' peut en revanche être converti selon les règles suivantes :