private String getStringIfObjectIsPresent(Optional object){
object.ifPresent(() ->{
String result = "result";
//some logic with result and return it
return result;
}).orElseThrow(MyCustomException::new);
}
Это не сработает, поскольку ifPresent принимает функциональный интерфейс Consumer в качестве параметра, который имеет void Accept(T t). Он не может вернуть никакого значения. Есть ли другой способ сделать это?
[code] private String getStringIfObjectIsPresent(Optional object){ object.ifPresent(() ->{ String result = "result"; //some logic with result and return it return result; }).orElseThrow(MyCustomException::new); } [/code]
Это не сработает, поскольку ifPresent принимает функциональный интерфейс Consumer в качестве параметра, который имеет void Accept(T t). Он не может вернуть никакого значения. Есть ли другой способ сделать это?
Кому-нибудь неприятно читать зигзагообразный код, когда вы видите такой код:
someObject.setX(someValue);
Optional.ofNullable(someNullable).ifPresent(SomeObject::setY);
someObject.setZ(someValue);
Есть ли какая-то передовая практика или соглашение...
Кому-нибудь неприятно читать зигзагообразный код, когда вы видите такой код:
someObject.setX(someValue);
Optional.ofNullable(someNullable).ifPresent(someObject::setY);
someObject.setZ(someValue);
Есть ли какая-то передовая практика или соглашение...
У меня возникла проблема с необязательным. Следующий код не может выполнить лямбда-выражение.
Optional opt = receiveMetadataFrame(readStream); // returns filename|userid`share drive`EncTest`false\n
opt.ifPresent(metaD -> {
String originalFileName...