Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Erik_Escriche en 22 de Noviembre 2016, 11:54
-
¡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:
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:
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 List<Boolean> miLinkedList = new LinkedList <Boolean> ()
y escribir LinkedList<Boolean> miLinkedList = new LinkedList<Boolean>()
? ¿No se crea en ambos casos un LinkedList?
Muchas gracias de antemano.
-
Buenos días.
Al escribir
LinkedList <Boolean> miLinkedList = new LinkedList <Boolean> ();
el tipo es LinkedList y lo implementamos con LinkedList.
Sin embago al escribir
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 (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
-
Muchas gracias por la explicación, ESOJ. Ahora ya lo entiendo.