Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: jotase1507 en 14 de Febrero 2015, 20:18

Título: Consulta ArrayList necesidad o no de especificar el tipo de objetos que contiene
Publicado por: jotase1507 en 14 de Febrero 2015, 20:18
Buenas tardes, quisiera hacer la siguiente consulta, en el IDE NetBeans cuando creo un ArrayList de la siguiente forma:

ArrayList<Integer> miListadoAL = new ArrayList<Integer>();

el IDE me subraya el Integer resaltado en rojo indicando que lo puedo quitar dejandolo de la siguiente forma

ArrayList<Integer> miListadoAL = new ArrayList<>();

Mi consulta es... cual es la diferencia entre uno y otro, o en todo caso a que se debe que el IDE me indique lo dicho lineas arriba.
Título: Re:Consulta ArrayList
Publicado por: toni_apr en 14 de Febrero 2015, 22:17
Hola jotase

En Java como en otros lenguajes a la hora de escribir código además de hacerlo según los cánones estrictos, está permitido escribir saltándose la información que es obvia.

En este caso, puesto que el objeto que contiene el ArrayList es una clase (Integer) de la que no dependen subclases, y que en esta definición del objeto 'miListadoAL' no se permitirá crear un objeto de un tipo distinto (Boolean, Float, etc.).
Java admite que al crear el objeto (después del símbolo =) se vuelva a indicar el mismo tipo de objeto que se definió/declaró (a la izquierda del símbolo =) o que se omita, pues no se aceptará otro tipo de objeto que el declarado.

Puede que esta explicación sea muy abstracta, pero aún así, mantenla en la reserva.
Seguramente como otras cosas encajará cuando lleguemos a estudiar la herencia, el polimorfismo y los interfaces en Java

Saludos
Título: Re:Consulta ArrayList
Publicado por: jotase1507 en 15 de Febrero 2015, 01:16
Entonces por lo que me indicas, puedo deducir que ¿se puede crear un ArrayList que contenga Integer, String y otros tipos de objetos?
Título: Re:Consulta ArrayList
Publicado por: toni_apr en 15 de Febrero 2015, 15:34
Si jotase

Como comprobarás en la lección donde hablamos de la clase ArrayList (CU00665B). Esta clase del API de Java gestiona una lista de objetos.
Los objetos pueden ser: String, Integer, Float...
También puede contener objetos de tipo: Persona, Casa, o cualquier otra clase que tu hayas creado.

Saludos