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

OPTIONAL ¿ifPresent o isPresent?

En el articulo de Alura que hace referencias al contenedor Optional pone como ejemplo el siguiente codigo:

Optional optionalNombre = getNombre();

optionalNombre.ifPresent(System.out::println); // Imprimirá el nombre solo si no es null

String nombre = optionalNombre.orElse("Nombre no disponible"); // Devolverá "Nombre no disponible" si nombre es null

Pero en el video era: if(optionalNombre.isPresent) ... ¿cual es la diferencia?

1 respuesta

Hola Jose, espero que estés bien

La diferencia entre ifPresent e isPresent es que ifPresent es un método que acepta un Consumer como argumento y ejecuta ese Consumer si el valor está presente, mientras que isPresent es un método que simplemente devuelve un booleano que indica si el valor está presente o no.

Entonces, en el caso de optionalNombre.ifPresent(System.out::println), se imprimirá el nombre solo si no es null, ya que ifPresent ejecutará System.out::println si el valor está presente. Por otro lado, if(optionalNombre.isPresent()) es una forma de verificar si el valor está presente antes de realizar alguna acción.

En resumen, ifPresent es útil cuando quieres realizar una acción si el valor está presente, mientras que isPresent es útil cuando solo necesitas verificar si el valor está presente antes de realizar alguna acción.

Espero que esta explicación te ayude a comprender la diferencia entre ifPresent e isPresent. Si tienes alguna otra pregunta, no dudes en preguntar.

Espero haber ayudado y buenos estudios!