public class Solution {
public boolean esNumeroValido(String value) {
if (value.isEmpty()){
return false;
}
try {
Double.parseDouble(value);
return true;
}catch (Exception e){
return false;
}
}
}Hola amigo, esta genial tu implementación para resolver el problema, pero considero que el primer if esta de mas ya que si llega a ser un String vacío el Double.parseDouble(value); lanzara un error y caerá en el catch retornando false, si estoy equivocado házmelo saber.
@jessusthread_d654f577 Hola, amigo, tienes toda la razón en que el try-catch capturaría el String vacío y devolvería false sin romper el programa. La razón principal de incluir el if previo es aplicar el principio de retorno temprano (fail-fast) y evitar el uso de excepciones para el control de flujo regular. En Java, lanzar una excepción (NumberFormatException) tiene un costo computacional. Este programa casi ni se siente, pero es buena práctica en grandes proyectos
Escribir un comentario
Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.