Есть ли "хороший" способ создать копию необязательного объекта?
Например, скажем, у меня есть метод
Optional<Obj> doSomeStuff(Optional<Obj> input){
if(something){
return Optional.copyOf(input); // does this exist in some Guava library or something?
}
// ...
}
По сути, я хочу иметь неизменяемость так что я не передаю один и тот же Optional, и если срабатывает something
, я хочу убедиться, что я создаю совершенно новый Optional с тем же содержимым input
Optional (независимо от того, будет он пустым или нет).
Есть ли чистый способ сделать это? Метод Optional.copyOf
не существует.