У меня возникла проблема с необязательным. Следующий код не может выполнить лямбда-выражение. [code]Optional opt = receiveMetadataFrame(readStream); // returns "filename|userid`share drive`EncTest`false\n" opt.ifPresent(metaD -> { String originalFileName = metaD.substring(0, metaD.lastIndexOf("|"); String rawParams = metaD.substring(metaD.lastIndexOf("|" + 1); . . . } [/code] Почему «ifPresent» не распознает действительную строку в параметре?
Есть ли способ отобразить продукты, которые «в наличии» как «вне склада» для конкретного пользователя и на определенной странице, где только продукты «из запаса» отображаются в WordPress.
Я читаю «Принципы и практика программирования» Страуструпа. В главе 15.5 он использует код с лямбда-представителем. Ниже приведена упрощенная версия его кода. Компилятор, похоже, принимает функцию s1 и функцию s2, но застревает на функции s3....
private String getStringIfObjectIsPresent(Optional object){
object.ifPresent(() ->{
String result = result ;
//some logic with result and return it
return result;
}).orElseThrow(MyCustomException::new);
}...
Кому-нибудь неприятно читать зигзагообразный код, когда вы видите такой код:
someObject.setX(someValue);
Optional.ofNullable(someNullable).ifPresent(SomeObject::setY);
someObject.setZ(someValue);
Есть ли какая-то передовая практика или соглашение...