我当前在我的存储库接口中重写findById
以返回普通对象,因为我不喜欢不必要的代码:.isPresent()
和.get()
< / p>
ApplicationType findById(long applicationTypeId);
我只是检查if(applicationType != null)
在这里实现“可选”的任何原因?
答案 0 :(得分:2)
Optional自JDK 8起在JDK中实现。
谦虚地希望避免在代码中使用空值检查(就像您实际所做的那样)
Optional
返回此处意味着我们可以有一个ApplicationType
值或null
。
拥有Optional
时,可以使用isPresent()
来检查值。可以使用Optional
get()
的值
可选的很有意思,尤其是当直接在optinal本身上执行带有某些功能的动作时:
Optional<ApplicationType> applicationType = repo.findById(1L);
applicationType.ifPresent(value -> doSomething(value));
applicationType.orElse(defaultApplicationType);
有关可选内容的完整guide