加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 为什么Optional不实现供应商?

发布时间:2020-12-15 01:08:25 所属栏目:Java 来源:网络整理
导读:我们都知道Optional 有一个方法T get(),那么为什么它没有实现Supplier ? 如果碰巧没有理由,如果Oracle要将它实现到Java的未来版本中会不会破坏任何先前的代码? 最佳答案 这是因为它们意味着不同的东西. 可选的 是可能提供也可能不提供的参数,可能提供或可

我们都知道Optional< T>有一个方法T get(),那么为什么它没有实现Supplier< T>?

如果碰巧没有理由,如果Oracle要将它实现到Java的未来版本中会不会破坏任何先前的代码?

最佳答案
这是因为它们意味着不同的东西.

可选的< T>是可能提供也可能不提供的参数,可能提供或可能不提供的返回值,或者可能或可能未赋值的变量.如果它有值,您可以使用.get()来检索它.如果你做错了什么的话,.get()可能会抛出异常,也就是说,如果你在值不存在时调用它.

供应商< T>是一个功能对象,它将根据需要提供值(或null).与Optional< T>不同,每次调用时,Supplier.get()都会返回不同的值.如果Supplier.get()抛出异常,则表示其实现出现问题,而不是调用者出错.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读