gpt4 book ai didi

java - 这是如何工作的 - Java 8Optional.of 和Optional.ofNullable

转载 作者:行者123 更新时间:2023-12-02 02:11:16 24 4
gpt4 key购买 nike

我对 Java 8 可选有疑问。

下面的代码给出编译错误:

Integer number = Optional.ofNullable(new Integer(10)); 

但是当我们执行以下操作时,它,我不明白这是如何工作的:

Integer number = Optional.ofNullable(new Integer(10)).orElse(10); 

如果我们查看 Optional.ofNullable() 的文档,它返回 static <T> Optional<T> ofNullable(T value) 类型的对象这意味着它是内部类型转换,但文档说它的返回类型是 Optional

我知道 .orElse方法返回类型为 T如果它转到orElse,则可以正常工作条件,即传入的对象是 null ,但如果它不为 null,它如何对其进行类型转换?

最佳答案

看一下方法的声明,

public static <T> Optional<T> ofNullable(T value)

所以这需要 T 并返回 Optional<T>所以在你的情况下需要 Integer并返回 Optional<Integer>

所以当你这样做时,

Optional.ofNullable(new Integer(10)).orElse(10);

orElse如果它不为空,则调用将打开可选值并返回其中的值。否则它只返回给定的值。

更新

根据以下评论,您可以进一步简化它,同时将工作留给自动装箱。

Optional.ofNullable(10).orElse(10);

关于java - 这是如何工作的 - Java 8Optional.of 和Optional.ofNullable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53257689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com