为什么FindById返回可选的?

问题描述 投票:-2回答:1

我当前在我的存储库接口中重写findById以返回普通对象,因为我不喜欢我必须要做的不必要的代码:.isPresent().get()

ApplicationType findById(long applicationTypeId);

我只是检查if(applicationType != null)

为什么在这里实现Optional的任何原因?

java optional
1个回答
0
投票

Optional自JDK 8起在JDK中实现。

谦虚地希望避免在代码中使用空值检查(就像您实际上所做的那样]

这里的可选返回值表示我们可以具有ApplicationType值或null

具有“可选”时,可以通过选中isPresent()来设置值。该值可以从get()

获得

可选是特别有趣的,特别是当在功能上直接使用最佳功能本身执行动作时,仅此而已:

Optional<ApplicationType> applicationType = repo.findById(1);
applicationType.ifPresent(value -> doSomething(value));
applicationType.orElse(defaultApplicationType);

在可选项中有完整的guide

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