Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] ¿Por qué al imprimir un objeto muestra sus propiedades... sin haber sobreescrito su método toString()

al obtener la creación de objeto de la clase (DatosSerie) mediante el uso de la dependencia (jackson-databind) e imprimir directamente en consola... sin sobrescribir el metodo toString() muestra sus propiedades directamentamente... ¿es alguna función que incluye el utilizar el deserializador?

@SpringBootApplication
public class AnimelistApplication implements CommandLineRunner {

    public static void main(String[] args) {
        SpringApplication.run(AnimelistApplication.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        String url = "https://www.omdbapi.com/?t=squid+game&apikey=8f9ft9d7";
        ConexionApi conexion = new ConexionApi();
        String json = conexion.obtenerDatos(url);

        ConversorDatosGenericos conversor = new ConversorDatosGenericos();
        DatosSerie datosSerie = conversor.obtenerDatos(json, DatosSerie.class);
        System.out.println(datosSerie);
    }

}

consola:
DatosSerie[titulo=Squid Game, totalDeTemporadas=3, evaluacion=8.0]
1 respuesta
solución!

¡Hola Roy!

Entiendo tu duda sobre por qué al imprimir un objeto de la clase DatosSerie muestra sus propiedades sin haber sobreescrito su método toString(). La razón por la cual al imprimir el objeto se muestran sus propiedades directamente es porque estás utilizando la dependencia jackson-databind para deserializar el JSON y convertirlo en un objeto de la clase DatosSerie. Esta dependencia utiliza reflexión para acceder a las propiedades del objeto y mostrarlas directamente al imprimirlo, sin necesidad de haber sobreescrito el método toString().

El proceso de deserialización que realiza jackson-databind es el responsable de mostrar las propiedades del objeto al imprimirlo en consola, por lo que no es necesario que implementes el método toString() en la clase DatosSerie para lograr este comportamiento.

Espero que esta explicación te haya ayudado a aclarar tu duda. Si tienes alguna otra pregunta, no dudes en preguntar.

Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!