Próbuję zrobić coś takiego:Java 8 opcjonalnie: ifPresent obiekt powrót orElseThrow wyjątek
private String getStringIfObjectIsPresent(Optional<Object> object){
object.ifPresent(() ->{
String result = "result";
//some logic with result and return it
return result;
}).orElseThrow(MyCustomException::new);
}
to nie będzie działać, ponieważ ifPresent trwa Consumer funkcjonalny interfejs jako parametr, który ma przyjąć void (T t). Nie może zwrócić żadnej wartości. Czy jest jakiś inny sposób na zrobienie tego?
Możliwe duplikat [Właściwe użycie Optional.ifPresent()] (http://stackoverflow.com/questions/24228279/proper-usage-of-optional-ifpresent) –