【发布时间】:2019-07-18 21:23:06
【问题描述】:
我有一些处理逻辑:
public void handle(String uniqueId) {
Optional<Config> config = configDAO.find(uniqueId);
if (!config.isPresent()) {
LOGGER.warn("config not found for uniqueId '{}'", uniqueId);
} else {
internalHandle(config.get());
}
}
换句话说,我想运行两个 void 操作之一,基于 Optional 值的存在。
我非常担心在我的代码中不使用 isPresent,但看起来 java8 没有提供任何我可以替换此代码的东西。
【问题讨论】:
-
你为什么不想使用它?
-
你是对的,
isPresent是低级的,通常存在更好的选择。你能用Java 9吗?它有ifPresentOrElse,非常适合您的需求。 -
这就是为什么我将问题标记为
java-8 -
@DenisKurochkin 检查这可能有用:stackoverflow.com/questions/29235982/…
-
您的代码没有任何内容,这是 java 8 的预期方式
标签: java java-8 functional-programming optional