Referencia: http://java.sun.com/j2se/1.5.0/docs/guide/language/autoboxing.html¿Por qué el autoboxing en Java me permite tener 3 valores posibles para un booleano?
"Si el programa intenta autounbox nula, se lanzará una NullPointerException."
javac le dará un error en tiempo de compilación si intenta asignar nulo a un booleano. tiene sentido. Sin embargo, la asignación de null a un booleano es a-ok. también tiene sentido, supongo.
pero pensemos en el hecho de que obtendrá un NPE cuando intente autouncar nulo. lo que esto significa es que no puede realizar operaciones booleanas de manera segura en Booleanos sin verificación nula o manejo de excepciones. Lo mismo aplica para hacer operaciones matemáticas en un Entero.
durante mucho tiempo, era un fanático del autoboxing en java1.5 + porque pensé que tenía Java más cerca para estar realmente orientado a objetos. pero, después de toparme con este problema anoche, debo decir que creo que esto apesta. el compilador que me da un error cuando trato de hacer cosas con un primitivo no inicializado es algo bueno. No quiero usar el autoboxing si pierdo eso.
Creo que puedo estar malinterpretando el punto de autoboxing, pero al mismo tiempo, nunca aceptaré que un boolean debería poder tener 3 valores. ¿Alguien puede explicar esto? ¿Qué no estoy recibiendo?
Una pregunta de sí o no puede tener tres respuestas: sí, no, no sé. – ADTC