Что ж, похоже, вы хотите установить значение ISomeObject myObject
, если присутствует Optional, один из способов сделать это:
ISomeObject [] myObject = new ISomeObject[1]; // effectively final strikes again!
Optional<ISomeObject> myObjectOpt = someIterable
.stream()
.filter(...)
.findFirst()
.ifPresent(x -> myObject[0] = x);
Но еще проще было бы:
myObject = someIterable
.stream()
.filter(...)
.findFirst()
.orElse(null); // in your code myObject is null by default anyway
Но даже в этом нет особого смысла, вы устанавливаете это поле, а затем ничего не делаете с ним?Тогда зачем вообще это делать?
Кроме того, findFirst
из Set
, конечно, не имеет особого смысла.