如何在 Long 数据类型变量中设置 Optional<Long> 数据类型变量值? [关闭]
Posted
技术标签:
【中文标题】如何在 Long 数据类型变量中设置 Optional<Long> 数据类型变量值? [关闭]【英文标题】:How to set Optional<Long> data type variable value in a Long data type variable? [closed] 【发布时间】:2020-11-10 19:20:07 【问题描述】:我有一个 Long 类型的变量。我从请求中得到一个可选值。如何在 Long 变量中设置 Optional 值。
【问题讨论】:
在这里提问之前,你应该阅读文档,即Optional
的javadoc。查看list of methods,如果它们中的任何一个返回值,即返回类型是T
。 --- 问题被否决,因为它“没有显示任何研究工作”(引用否决按钮的工具提示)
【参考方案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);
【讨论】:
以上是关于如何在 Long 数据类型变量中设置 Optional<Long> 数据类型变量值? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章