¿Qué es .intValue () en Java?

¿Cuál es la diferencia entre ellos?

l es un arraylist de tipo entero.

versión 1:

 int[] a = new int[l.size()]; for (int i = 0; i < l.size(); i++) { a[i] = l.get(i); } return a; 

versión 2:

 int[] a = new int[l.size()]; for (int i = 0; i < l.size(); i++) { a[i] = l.get(i).intValue(); } return a; 

l.get(i); devolverá Integer y luego intValue(); a intValue(); en él devolverá el entero como tipo int .

La conversión de un int a Integer se denomina boxeo .
Convertir un Integer en int se llama unboxing
Y así sucesivamente para la conversión entre otros tipos primitivos y sus correspondientes clases Wrapper.

Desde Java 5, automáticamente realizará las conversiones necesarias para usted (autoboxing), por lo que no hay diferencia en sus ejemplos si está trabajando con Java 5 o posterior . Lo único que tiene que cuidar es si un Integer es nulo, y si lo asigna directamente a int , se lanzará NullPointerException.

Antes de Java 5, el progtwigdor tenía que hacer boxeo / desempaquetado.

Como notó, intValue no es de mucha utilidad cuando ya sabe que tiene un Integer . Sin embargo, este método no se declara en Integer , sino en la clase de Number general. En una situación en la que todo lo que sabe es que tiene algún Number , se dará cuenta de la utilidad de ese método.

El objeto devuelto por l.get (i) es una instancia de la clase Integer .

intValue () es un método de instancia de la clase Integer que devuelve un int primitivo.

Consulte el documento de referencia de Java … http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html#intValue ()

Java admite dos tipos de estructuras, las primitivas son las primitivas y las segundas son los objetos.

El método que está solicitando se utiliza para recuperar el valor de Objeto a primitivo.

Todos los tipos de Java que representan el número extienden el número de clase. Estos métodos están en desuso de alguna manera si usa el mismo tipo de objeto y primitivo desde que se implementó [autoboxing] en Java 1.5.

int – primitivo

Entero – objeto

Antes de Java 1.5 estábamos obligados a escribir.

int i = integer.intValue();

Desde Java 1.5 podemos escribir

int i = integer;

Esos métodos también se usan cuando necesitamos cambiar nuestro tipo de Integer a long

long l = integer.longValue();

get(i) devolverá el objeto Integer y obtendrá su valor cuando llame a intValue() . En el primer caso, el auto-unboxing ocurre auto-unboxing .

Son exactamente lo mismo. Como han mencionado otros carteles, puede colocar el objeto Integer o el primitivo int en la matriz. En el primer caso, el comstackdor convertirá automáticamente el objeto Integer en una primitiva. Esto se llama auto-boxeo.

Es solo un método conveniente para obtener un valor primitivo del objeto Number : http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Number.html

Considere el código:

 Integer integerValue = Integer.valueOf(123); float floatValue = integerValue.floatValue(); 

La última línea es un método conveniente para hacer:

 float floatValue = (float)(int)integerValue; 

Dado que cualquier tipo numérico en Java se puede convertir explícitamente a cualquier otro tipo numérico primitivo, la clase Number implementa todas estas conversiones. Como de costumbre, algunos de ellos no tienen mucho sentido:

 Integer integerValue = Integer.valueOf(123); int intValue = integerValue.intValue(); int intValue2 = (int)integerValue; int intValue3 = integerValue;