2011-02-18 12 views
9

estoy un poco confundido por una advertencia de que mi IDE de Eclipse está escribiendo actualmente junto a cada expresión, donde los tipos se autoboxed o autounboxed:La expresión de tipo x está encuadrada en X?

The expression of type x is boxed into X 

The expression of type X is unboxed into x 

¿Es esta una advertencia que debería reaccionar sobre? Pensé que el autoboxing era una característica del lenguaje Java, pero ahora parece que recibo advertencias cada vez que se utiliza esta función.

+1

Puede activar esta advertencia por ir a "Ventana -> Preferencias -> Java -> Generador -> Errores/Advertencias", y luego desmarcando "conversiones boxing y unboxing" en "problemas de programación potenciales". –

+2

El desempaquetado automático es algo de lo que a veces puede desconfiar. Esto puede causar inesperadas excepciones nulas. – extraneon

+0

Esperemos que separar autoboxing de auto-unboxing: https://bugs.eclipse.org/bugs/show_bug.cgi?id=163065 – Kyle

Respuesta

6

No creo que Eclipse lo haga de manera predeterminada (el mío no), pero puede activarlo o desactivarlo usando Preferencias> Java> Compilador> Errores/Advertencias> Posibles problemas de programación> Encajonar y desempaquetar conversiones.

Debería ser "Ignorar" a menos que realmente quiere saber acerca de esto.

+0

Así que eso es realmente sólo un aviso de Eclipse y no es realmente una advertencia de Java? –

+0

No creo que javac marque esta situación, pero a diferencia de los errores, las advertencias son fudibles. Muchos tienen que ver con el estilo del código. Algunas personas prefieren escribir un cast/box/unbox explícito, etc. El compilador de Eclipse Java puede informar sobre una serie de problemas que no se interponen en el proceso de compilación, pero que el usuario puede querer conocer. Tiene la opción de decirle a Eclipse si alguno de estos debe ser un error, advertencia o ignorar la gravedad. El compilador de Eclipse Java puede identificar muchas más condiciones que javac. –

Cuestiones relacionadas