Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

Practica

Clase PrincipalConListas
import java.util.ArrayList;
import com.alura.screenmatch.modelos.Pelicula;
import com.alura.screenmatch.modelos.Serie;
import com.alura.screenmatch.modelos.Titulo;

public class PrincipalConListas {

public static void main(String[] args) {

    Pelicula favorita = new Pelicula("El señor de los anillos", 2001);
    favorita.evalua(10);

    Pelicula otra = new Pelicula("John Wick", 2014);
    otra.evalua(9);

    Serie serie = new Serie("La Casa de Papel", 2017);

    ArrayList<Titulo> lista = new ArrayList<>();
    lista.add(favorita);
    lista.add(otra);
    lista.add(serie);

    for (Titulo item : lista) {

        System.out.println("Nombre: " + item.getNombre());

        if (item instanceof Pelicula pelicula && pelicula.getClasificacion() > 2) {
            System.out.println("Clasificacion: " + pelicula.getClasificacion());
        }
    }
}

}
Explicación del código

  1. Uso de ArrayList

Se crea una lista que almacena objetos del tipo Titulo, permitiendo guardar películas y series en la misma lista.

ArrayList lista = new ArrayList<>();
2. Loop foreach

Permite recorrer todos los elementos de la lista de forma sencilla.

for (Titulo item : lista)

Cada vuelta del ciclo toma un elemento de la lista.

  1. Uso de instanceof

Se usa para verificar si el objeto es de tipo Pelicula antes de hacer el casting.

if (item instanceof Pelicula pelicula)

Esto evita errores cuando el objeto es una Serie.

  1. Casting automático (Java moderno)

Java permite declarar la variable dentro del instanceof.

Pelicula pelicula

Así ya podemos usar sus métodos.

Ejemplo de salida en consola
Nombre: El señor de los anillos
Clasificacion: 5

Nombre: John Wick
Clasificacion: 5

Nombre: La Casa de Papel

(La serie no muestra clasificación porque no es una Pelicula).