Tag: 可选

用于可选

现在使用Java 8已经有6个多月的时间了,对于新的API更改,我感到非常满意。 我还没有信心的一个领域是什么时候使用Optional 。 我似乎想要在任何地方使用它之间摇摆,可能是null ,根本就没有。 当我可以使用它的时候,似乎有很多情况,我也不确定是否增加了好处(IE可读性/ null安全性),或者只是造成额外的开销。 所以,我举几个例子,我对社区对是否增加好处的想法感兴趣。 1 – 当方法可以返回null时,作为公共方法返回类型: public Optional<Foo> findFoo(String id); 2 – 作为param可能为null的方法参数: public Foo doSomething(String id, Optional<Bar> barOptional); 3 – 作为一个bean的可选成员: public class Book { private List<Pages> pages; private Optional<Index> index; } 4 – 在Collections : 一般来说,我不认为: List<Optional<Foo>> 添加任何东西 – 特别是因为可以使用filter()删除null值等,但是有什么好的用途Optional在集合? 任何我错过的情况?