Je comprends que le code suivant ne fonctionnera pasL'autoboxing/élargissement se produit dans Short a = 3 mais pas dans Float a = 3;
Float a=3
parce que sa traduit par flotteur a = Integer.valueOf (3). Nous aurons une référence Float sur le LHS et un objet Integer sur le RHS, ce qui est incompatible. Mais:
1.
`Short a=3;`
Cela fonctionne, mais là encore, nous aurons une référence à court sur le LHS et un objet entier sur la partie droite.
2.
Float a=(Float) 3
Si nous n'avions pas typecasted 3, il aurait été traduit par Integer.valueOf (3). Maintenant, sera-t-il traduit comme Float.valueOf (3)?
Avez-vous un compilateur Java? Si oui, vous pouvez essayer cela. – DJClayworth