Java 选项与供应商

Java 选项与供应商,java,java-8,optional,Java,Java 8,Optional,Q可选功能接口的需求是什么 我理解可选的必要性是避免空检查。。但仍然需要做。我现在检查 2我们是否会使用供应商和do实现同样的目标。在我们需要价值的时候就开始实践 List<Integer> intList = Arrays.asList(1,2,4); currently--> Optional<Integer> opt =intList.stream().reduce((a,b)->a*b); int result

Q可选功能接口的需求是什么

我理解可选的必要性是避免空检查。。但仍然需要做。我现在检查

2我们是否会使用供应商和do实现同样的目标。在我们需要价值的时候就开始实践

List<Integer> intList = Arrays.asList(1,2,4);
currently--> Optional<Integer> opt =intList.stream().reduce((a,b)->a*b);
                    int result =opt.get();


suggestion--> Supplier<Integer> sup=intList.stream().reduce((a,b)->a*b);
               int result =sup.get();

如果供应商也能做同样的事情,为什么还要引进新产品呢。?或者只拥有其中的任何一个???

流可能是空的,在这种情况下,从供应商那里获得的价值没有意义。 这就是为什么你有一个可选的,而不是一个供应商

期权的基本契约是,可能存在价值,也可能不存在价值

供应商的基本合同是可以根据需要检索价值。
表示供应商没有可用值的唯一方法是抛出一个异常,作为供应商的用户,我们可以并且肯定希望避免这个异常。

可选的不是接口而是类,并且有比get更多的方法。供应商如何告诉您值是否存在?