notAChance:
Puedo entender el siguiente:
user
.filter(u -> "Sam".equals(u.getName()))
.ifPresent(this::doSomethingWithUser);
si user.getName
es igual a "Sam"
continuación, pasar user
a método local doSomethingWithUser()
.
Sin embargo, ¿qué pasaría si simplemente quería llamar a un método local, sin pasar user
pero manteniendo el cheque que user.getName
es igual a "Sam"
?
¿Este caso de uso hacen que el uso Optional
redundante?
drekbour:
Simplemente ignorar el parámetro de función obligatoria. Esto significa que no puede utilizar la abreviatura ::
sintaxis y es la siguiente:
user
.filter(u -> "Sam".equals(u.getName()))
.ifPresent(u -> doSomethingWithoutUser());