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

Haz como yo hice

  1. Clase Pelicula con toString() sobreescrito
    public class Pelicula {

    private String nombre;
    private int fechaDeLanzamiento;

    public Pelicula(String nombre, int fechaDeLanzamiento) {
    this.nombre = nombre;
    this.fechaDeLanzamiento = fechaDeLanzamiento;
    }

    public String getNombre() {
    return nombre;
    }

    public int getFechaDeLanzamiento() {
    return fechaDeLanzamiento;
    }

    @Override
    public String toString() {
    return "Pelicula: " + this.getNombre() + " (" + this.getFechaDeLanzamiento() + ")";
    }

}
Qué hace toString()

Cuando imprimimos un objeto con System.out.println(objeto), Java ejecuta automáticamente toString() para mostrar su información.

  1. Clase Principal con la lista de películas
    import java.util.ArrayList;

public class Principal {

public static void main(String[] args) {

    Pelicula favorito = new Pelicula("Matrix", 1999);
    Pelicula otro = new Pelicula("Titanic", 1997);

    ArrayList<Pelicula> listaDePeliculas = new ArrayList<>();

    listaDePeliculas.add(favorito);
    listaDePeliculas.add(otro);

    System.out.println("Tamaño de la lista: " + listaDePeliculas.size());
    System.out.println("Primera película: " + listaDePeliculas.get(0));
    System.out.println(listaDePeliculas);
}

}
Resultado esperado en consola
Tamaño de la lista: 2
Primera película: Pelicula: Matrix (1999)
[Pelicula: Matrix (1999), Pelicula: Titanic (1997)]
Conceptos que se practican en este ejercicio

Clases y objetos

Encapsulamiento (getters)

Sobrescritura de métodos (@Override)

Colecciones (ArrayList)

Métodos add(), size() y get()

1 respuesta

Hola David, espero que estés bien

¡Tu código se ve muy bien! Parece que has comprendido perfectamente cómo sobrescribir el método toString() y cómo trabajar con ArrayList en Java. El método toString() que has implementado en la clase Pelicula está diseñado para proporcionar una representación en forma de cadena del objeto, lo cual es muy útil cuando deseas imprimir objetos directamente, como lo has hecho en tu clase Principal.

Cuando utilizas System.out.println(listaDePeliculas);, Java llama automáticamente al método toString() de cada objeto en la lista para generar la salida que esperas. Por eso ves la salida formateada como "Pelicula: Matrix (1999)" y "Pelicula: Titanic (1997)".

Todo parece estar en orden con tu implementación. Has utilizado correctamente los métodos add(), size(), y get() de ArrayList, y tu salida esperada coincide con lo que debería producir el código.

Espero que esta explicación te haya sido útil y que continúes disfrutando del aprendizaje de Java. ¡Bons estudios!