【问题标题】:How to set Optional<Long> data type variable value in a Long data type variable? [closed]如何在 Long 数据类型变量中设置 Optional<Long> 数据类型变量值? [关闭]
【发布时间】:2020-11-10 19:20:07
【问题描述】:
我有一个 Long 类型的变量。我从请求中得到一个可选值。如何在 Long 变量中设置 Optional 值。
【问题讨论】:
标签:
java
spring-boot
java-8
【解决方案1】:
您可以使用get() 方法从可选项中获取长值。您还可以使用orElse 或orElseGet 或orElseThrow 来返回默认值、来自不同调用的另一个长值或抛出异常。
if(res.isPresent()){
Long value = res.get();
}
【解决方案2】:
您可以使用 Optional#get、Optional#orElseGet 或 Optional#orElseThrow 初始化 Long。如果您使用 Optional#get 并且不存在任何值,则会抛出 NoSuchElementException,因此请使用 Optional#isPresent 确保 Optional 不为空。
long value = optionalReference.orElseThrow(IllegalStateException::new);
【解决方案3】:
您可以使用这三个中的一个来查看区别:Optional documentation
- get();
- orElseThrow(Supplier extends X> exceptionSupplier);
- orElse(T other);