假设我有一个类似这样的库方法(非常简略):
我想要做一些不返回值的事情,比如:
我的首要反应是将类型设为
有没有一些合理的占位符来代替
[编辑] 我试图避免使用
public static <V> Optional<V> doSomethingWith(Callable<V> callable) {
try {
return Optional.of(callable.call());
} catch (Exception ex) {
// Do something with ex
return Optional.empty();
}
}
我想要做一些不返回值的事情,比如:
Library.</*What1*/>doSomethingWith(() -> {
foo();
return /*what2*/;
});
我的首要反应是将类型设为
Void
并返回null
,但由于结果被包裹在Optional
中,这会引发异常。有没有一些合理的占位符来代替
/*What1*/
和/*what2*/
,使它们看起来不像是完全随机的,例如Integer
和0
?[编辑] 我试图避免使用
Optional.ofNullable
,因为这里的空值表示callable.call()
未正常完成。
Optional.ofNullable
?如果它总是存在,那么返回可选项有什么意义?(注意:已经尽量保持原意并使语言更加通俗易懂) - Tagir ValeevOptional
是一个容器对象,它可能包含或不包含非空值。那么问题是什么? - user207421Callable<Boolean>
并返回Boolean.TRUE
)? - Tagir ValeevResult
或其他名称),其中只有一个常量(例如EMPTY
或其他名称)。 - MC Emperor