gpt4 book ai didi

java - Objects.requireNonNullElse() 和 Optional.ofNullable().orElse() 有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:54 25 4
gpt4 key购买 nike

Java 9 为 Objects 类引入了 requireNonNullElserequireNonNullElseGet 方法。这些功能与 Optional.ofNullable() orElse()orElseGet() 方法有什么不同吗?

String foo = null;
Objects.requireNonNullElse(foo, "nonNull");//returns the string "nonNull"
Optional.ofNullable(foo).orElse("nonNull");//also returns the string "nonNull"

如果它们在功能上没有区别,为什么现在添加了Objects

最佳答案

他们的行为有一处细微差别。 Objects.requireNonNullElse() 要求其中一个参数为非空,否则将抛出 NullPointerException

String foo = null, bar = null;
Optional.ofNullable(foo).orElse(bar); //returns a null value
Objects.requireNonNullElse(foo, bar); //throws a NullPointerException

关于java - Objects.requireNonNullElse() 和 Optional.ofNullable().orElse() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46519014/

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