这是因为它们意味着不同的东西.
一个Optional<T>
是可能提供也可能不提供的参数,可能提供或可能不提供的返回值,或者可能或可能未赋值的变量.如果它有值,您可以使用.get()
它来检索它. .get()
如果你做错了什么可能会抛出异常,也就是说,如果你在价值不存在时调用它.
A Supplier<T>
是一个功能对象,它将根据需要提供值(或null).与a不同,每次调用它时返回不同的值Optional<T>
是合理的Supplier.get()
.如果Supplier.get()
抛出异常,则意味着其实现出现问题,而不是调用者犯了错误.
归档时间: |
|
查看次数: |
320 次 |
最近记录: |