• 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)

    Desconectado $francisco

    • { L6 } Flooder del foro
    • ******
    • Mensajes: 781
      • Ver Perfil
    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
    1. 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
    1. ArrayList arr = new ArrayList<string>(this,android.R.layout.simple_list_item_1,data);

    Thanks!!!

    En línea

    Desconectado animanegra

    • { L7 } Juanker
    • *******
    • Mensajes: 1293
      • Ver Perfil
      • Basura a ver si google lo indexa
    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

    Desconectado ravenheart

    • { L7 } Juanker
    • *******
    • Mensajes: 1359
    • Todos mis mensajes están bajo la licencia WTFPL v2
      • Ver Perfil
    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.

    Desconectado $francisco

    • { L6 } Flooder del foro
    • ******
    • Mensajes: 781
      • Ver Perfil
    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
     

    • SMF | SMF © 2013, Simple Machines
    • XHTML
    • RSS
    • WAP2
    Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso... Learn more