复制可选内容>>

问题描述 投票:0回答:2

是否有“不错”的方法来创建可选对象的副本?

例如,说我有方法

Optional<Obj> doSomeStuff(Optional<Obj> input){
   if(something){
     return Optional.copyOf(input); // does this exist in some Guava library or something?
   }
   // ...
}

[基本上,我希望具有不变性,以便不会传递相同的Optional,并且如果触发了something,那么我要确保创建一个具有与input Optional相同内容的全新Optional。 (是否为空)。

是否有任何清洁的方法? Optional.copyOf方法不存在。

是否有“不错”的方法来创建Optional对象的副本?例如,假设我有一个方法Optional doSomeStuff(Optional input){if(something){return Optional ....

java guava
2个回答
1
投票

番石榴Optional已经不可变。您无需复制它。

这是javadoc的开头:


1
投票

Optional类是不可变的,因此您不需要复制。您可以只执行return input

© www.soinside.com 2019 - 2024. All rights reserved.