23/06/2010
Questions pièges Java n°5
Question 5 :
Dans le programme suivant quelles sont les lignes de codes qui génèrent une erreur de compilation :
class AClass {
public static void main() {
Byte B1 = 2;
Byte B2 = 200;
Long L = 2;
Number N = 2;
Object O = 2;
}
}
14:21 | Lien permanent | Commentaires (0) | Tags : java1.5, question piège
16/06/2010
Questions pièges Java n°5 : réponse
Code :
class AClass {
public static void main() {
Byte B1 = 2;
Byte B2 = 200;
Long L = 2;
Number N = 2;
Object O = 2;
}
}
Réponse
Les trois premières lignes du corps de la fonction main sont incorrectes
Explication
La première ligne est incorrecte car :
- on ne peut pas Boxer un int en Byte, on ne peut que le boxer en Integer
- il n'existe pas de conversion de Byte en Integer
- il n'existe pas d'enchainement de conversion implicite qui commençe par caster un int en byte puis qui le boxe en Byte
Ceci n'a rien à voir avec la valeur contenue dans le Byte. La ligne 4 est donc tout aussi incorrecte.
Cela n'a rien à voir non plus avec le fait que le byte soit plus "étroit" que le int. La ligne 5 est incorrecte pour exactement les mêmes raisons.
Les lignes 6 et 7 sont correctes. Il s'agit d'un enchainement de conversions :
- Boxing (int -> Integer)
- Widening reference (Integer ->Number) ou (Integer -> Object)
Point théorique associé
ici
14:21 | Lien permanent | Commentaires (2) | Tags : java1.5, reponse question piege
31/05/2010
Précédentes parutions
Ce précédent billet, m'enjoint à présenter aussi les différentes publications parues au sujet de ce que nous faisons en Tunisie avec .
La plupart des communiqués de presse se trouvent facilement sur la toile. Les publications les plus remarquables sont sans doute celle de france info / courrier cadre et celle du journal "management" d'avril 2009 qui n'est hélas pas disponible en ligne.
Parler à des journalistes n'est pas forcément chose aisée, et à la lecture de ces articles, on se rend bien compte, que je n'ai pas réussi à faire passer une information précise et exacte : C'est en forgeant...
13:01 | Lien permanent | Commentaires (0) | Tags : e-citiz, tunisie