Une bien étrange NPE.
Jean-Baptiste BRIAUD -- Novlog <[email protected]> Fri, 15 Apr 2011 22:06:42 +0200
| Newsgroups | gmane.comp.java.french.general |
|---|---|
| Message-ID | <[email protected]> |
Bonjour à tous, Ca faisait très très longtemps que je n'avais pas eu de problème de ce genre. Une NPE. Jusque là, rien à dire. J'investige ... et voici ce que je trouve (conceptuellement). ligne 1 : a.m(); ligne 2 : a.n(); Or la NPE est à la ligne 2 ! Donc a est nul, mais la ligne 1 est passé. Maintenant voici le détail de la ligne 2 : b ? 40 : a.n() La méthode n retourne un Integer... sauf que 40 est un int, pas un Integer. Résultat, çà passe la compile depuis l'autoboxing, mais visiblement pas le runtime. Correction de la ligne 2 : b ? new Integer(40) : a.n() Comme au bon vieux temps, sans autoboxing ... et çà passe. Etrange, non ? Serait-ce un bon puzzle ? Je suis en 1.6.