Autor Tema: Duda sobre asList y LinkedList error tipos incompatibles Ejercicio CU00679B Java  (Leído 2401 veces)

Erik_Escriche

  • Principiante
  • **
  • Mensajes: 65
    • Ver Perfil
¡Buenas!

Haciendo el ejercicio CU00679B del curso de programación java desde cero me ha surgido una duda. El código que escribí inicialmente es este:

Código: [Seleccionar]
import java.util.LinkedList;
import java.util.Arrays;
public class TestLinkedList {
    public static void main (String [] args) {
        Boolean [] miArray = {true, true, false, false, true, false};       
        LinkedList <Boolean> miLinkedList = new LinkedList <Boolean> ();
        miLinkedList = Arrays.asList(miArray);       
        System.out.println ("Contenido del LinkedList: " + miLinkedList);
    }
}

Al compilarlo, me daba error porque los tipos son incompatibles. Revisé la teoría y me di cuenta de que el método asList crea un tipo List, así que entiendo que salte el error. Sin embargo, no comprendo por qué no aparece el mismo error de compilación cuando se escribe lo siguiente:

Código: [Seleccionar]
import java.util.LinkedList;
import java.util.Arrays;
import java.util.List;
public class TestLinkedList {
    public static void main (String [] args) {
        Boolean [] miArray = {true, true, false, false, true, false};       
        List <Boolean> miLinkedList = new LinkedList <Boolean> ();
        miLinkedList = Arrays.asList(miArray);       
        System.out.println ("Contenido del LinkedList: " + miLinkedList);
    }
}

¿Cuál es la diferencia entre escribir
Código: [Seleccionar]
List<Boolean> miLinkedList = new LinkedList <Boolean> () y escribir
Código: [Seleccionar]
LinkedList<Boolean> miLinkedList = new LinkedList<Boolean>()? ¿No se crea en ambos casos un LinkedList?

Muchas gracias de antemano.
« Última modificación: 08 de Diciembre 2016, 21:17 por Alex Rodríguez »

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Dudas sobre asList y LinkedList Ejercicio CU00679B Java
« Respuesta #1 en: 30 de Noviembre 2016, 05:03 »
Buenos días.

Al escribir
Código: [Seleccionar]
LinkedList <Boolean> miLinkedList = new LinkedList <Boolean> ();el tipo es LinkedList y lo implementamos con LinkedList.
Sin embago al escribir
Código: [Seleccionar]
List<Boolean> miLinkedList = new LinkedList <Boolean> ()aunque también implementamos con LinkedList el tipo sería List,con lo que ya no son incompatibles.
Revisaté el siguiente enlace:
https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=603:interface-list-del-api-java-clases-arraylist-linkedlist-stack-vector-ejemplo-con-arraylist-cu00920c&catid=58:curso-lenguaje-programacion-java-nivel-avanzado-i&Itemid=180

Un saludo

Erik_Escriche

  • Principiante
  • **
  • Mensajes: 65
    • Ver Perfil
Re:Dudas sobre asList y LinkedList Ejercicio CU00679B Java
« Respuesta #2 en: 02 de Diciembre 2016, 16:49 »
Muchas gracias por la explicación, ESOJ. Ahora ya lo entiendo.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".