Inicio
Buscar
Ingresar
Registrarse
Starfield: el juego que revolucionará el espacio y la tecnología
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
Java y Android
»
duda sobre genericos arraylist
Imprimir
Páginas: [
1
]
Ir Abajo
Autor
Tema: duda sobre genericos arraylist (Leído 5595 veces)
$francisco
{ L6 } Flooder del foro
Mensajes: 781
duda sobre genericos arraylist
«
en:
Junio 14, 2017, 09:31:58 pm »
Buenas a todos, tengo una duda sobre este código
Código: Java
ArrayList
<
String
>
arr
=
new
ArrayList
<
string
>
(
this
,android.
R
.
layout
.
simple_list_item_1
,data
)
;
Lo que quiero saber es para que es el primer <String> y el segundo <String> , comprendo que es para indicar que solo se va a trabajar con datos de tipo String pero no comprendo la diferencia entre ese codigo y por ejemplo este
Código: Java
ArrayList
arr
=
new
ArrayList
<
string
>
(
this
,android.
R
.
layout
.
simple_list_item_1
,data
)
;
Thanks!!!
En línea
animanegra
{ L7 } Juanker
Mensajes: 1293
Re:duda sobre genericos arraylist
«
Respuesta #1 en:
Junio 14, 2017, 09:44:00 pm »
Estas metiendo lo que desees, pero el segundo arraylist sigue siendo generico, por lo que cuando obtengas objetos de el serán objetos genericos de la clase Object y no de la clase String o de la clase que desees especificar. En la declaración debe estar el tipo o si no será de tipo genérico.
En línea
Errante
ravenheart
{ L7 } Juanker
Mensajes: 1359
Todos mis mensajes están bajo la licencia WTFPL v2
Re:duda sobre genericos arraylist
«
Respuesta #2 en:
Junio 15, 2017, 11:42:14 am »
ArrayList es una lista normal, que almacena datos de tipo object (ergo, cualquier cosa).
ArrayList<T>* es una lista genérica (parametrizable), que solo acepta datos del tipo T.
En el primer caso, arr está definido como ArrayList<T> con T == String. Si le intentas meter un objeto que no sea String, te dará un error de compilación.
En el segundo caso (que no estoy seguro de que sea legal en Java, por cierto), arr representa una lista normal, pero le estás asignando una lista parametrizada de tipo String. En caso de que esto sea legal y compile, al intentar meter en arr un objeto que no sea String te dará un error en tiempo de ejecución.
Si sabes lo que va a contener tu array, el primer caso es claramente mejor. Si no lo sabes, tendrías que usar un ArrayList normal. Tener una variable ArrayList y asignarle un ArrayList<T> como en tu segundo caso, suponiendo que sea legal, es un despropósito en la inmensa mayoría de los casos. No lo uses si no tienes un buen motivo.
En línea
You do not need hope if you have drama to back you up.
$francisco
{ L6 } Flooder del foro
Mensajes: 781
Re:duda sobre genericos arraylist
«
Respuesta #3 en:
Junio 16, 2017, 03:11:07 pm »
Gracias, aclarado
En línea
Imprimir
Páginas: [
1
]
Ir Arriba
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
Java y Android
»
duda sobre genericos arraylist
Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso...
OK
Learn more