¡Hola, Fernando, espero que estés bien!
Sugerencia: compartir tu proyecto en el canal #comparta-tu-codigo en el servidor ONE en Discord ;)
Parece que estás trabajando en transformar datos de una API y enfrentando algunos desafíos con el manejo de cadenas y excepciones. Aquí te dejo algunas sugerencias para abordar estos problemas:
Sobrecarga de Constructores:
La sobrecarga de constructores te permite crear instancias de una clase de diferentes maneras, lo que es útil para manejar diferentes tipos de datos de entrada. En tu caso, puedes tener un constructor que acepte un objeto TítuloOMDB y otro que acepte parámetros individuales.
Uso de substring:
Cuando trabajas con datos externos, como el tiempo de ejecución de una película, es importante asegurarte de que siempre estás extrayendo los caracteres correctos. Utilizar substring es una buena manera de hacerlo, pero asegúrate de que estás manejando posibles errores, como cadenas más cortas de lo esperado.
Manejo de Excepciones:
Utilizar un bloque try-catch te ayudará a manejar situaciones donde los datos no son como se esperaba. Por ejemplo, si Integer.valueOf lanza una excepción, puedes capturarla y manejarla de manera adecuada, tal vez estableciendo un valor predeterminado o mostrando un mensaje de error amigable.
try {
this.duraciónEnMinutos = Integer.valueOf(miTituloOMDB.runtime.substring(0, 2));
} catch (NumberFormatException e) {
System.out.println("Error al convertir la duración: " + e.getMessage());
this.duraciónEnMinutos = 0; // valor por defecto
}
Flexibilidad y Reutilización:
Al usar un record para almacenar datos de la API, estás creando una capa intermedia que facilita el cambio entre diferentes formatos de API sin cambiar mucho tu lógica de negocio.
Espero que estas sugerencias te sean útiles para seguir avanzando en tu proyecto. ¡Bons estudios!