2012-01-06 28 views

Respuesta

7

La palabra clave .class obtener el objeto Class representan ambos tipos primitivos y los tipos de clase, mientras que el campo .TYPE del wrapper primitive class le permite obtener el Class del tipo primitivo que que envuelve los objetos.

+0

No es eso '.class' sólo un azúcar sintáctico? –

16

Absolutamente nada. Si ejecuta el siguiente código, verá que int.class es lo mismo que Integer.TYPE.

public class Test { 
    public static void main(final String[] args) { 
     System.out.println(int.class == Integer.TYPE); 
    } 
} 
1

absolutamente falso cheque esto:

public static void main(String[] args) { 
      System.out.println(int.class.equals(Integer.TYPE)); 
      System.out.println(Integer.class.equals(Integer.TYPE)); 
     } 

de salida: cierto falsa

Boolean.TYPE == boolean.class 
Byte.TYPE == byte.class 
Short.TYPE == short.class 
Character.TYPE == char.class 
Integer.TYPE == int.class 
Long.TYPE == long.class 
Float.TYPE == float.class 
Double.TYPE == double.class 
Void.TYPE == void.class 
+0

Esa es la salida correcta. Como 'Integer' de hecho * no * envuelve' Integer'. – skiwi

Cuestiones relacionadas