【问题标题】: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 值。

【问题讨论】:

  • 在这里提问之前,你应该阅读文档,即Optional的javadoc。查看list of methods,如果它们中的任何一个返回值,即返回类型是T。 --- 问题被否决,因为它“没有显示任何研究工作”(引用否决按钮的工具提示)

标签: 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

      1. get();
      2. orElseThrow(Supplier extends X> exceptionSupplier);
      3. orElse(T other);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-04
        • 2021-01-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多