Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Haga lo que hicimos en aula: declarando constructores

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

Hola, Justin.

Parece que estás enfrentando un problema de ClassCastException. Esto suele ocurrir cuando intentas convertir un objeto a un tipo incompatible. En tu caso, parece que estás usando una lista de ArrayList<Titulo>, pero dentro de ella estás añadiendo objetos de diferentes tipos que heredan de Titulo, como Pelicula y Serie.

Aquí hay algunas cosas que podrías verificar o ajustar:

  1. Verifica la clase Titulo: Asegúrate de que Pelicula y Serie realmente hereden de Titulo. Esto es importante para que puedas almacenarlos en una lista de tipo Titulo.

  2. Uso de instanceof: Antes de realizar operaciones específicas de cada tipo, puedes usar instanceof para verificar el tipo del objeto:

    for (Titulo item : lista) {
        if (item instanceof Pelicula) {
            Pelicula pelicula = (Pelicula) item;
            // Operaciones específicas para Pelicula
        } else if (item instanceof Serie) {
            Serie serie = (Serie) item;
            // Operaciones específicas para Serie
        }
    }
    
  3. Revisar el método toString: Si estás imprimiendo los objetos, asegúrate de que las clases Pelicula y Serie tengan un método toString() que devuelva la representación deseada.

  4. Errores en el casting: Asegúrate de que la línea donde ocurre el error (línea 27) no esté intentando realizar un casting directo a un tipo específico sin verificarlo primero.

Con estos pasos deberías poder resolver el problema. Espero que esto te ayude a avanzar.