Optional类在 Java 8中被加了进来,提供了一种处理业务逻辑想要的值可能没有出现(null)也可能出现的情况,可能直到目前,我们还是用null 来表示业务值不存在的情况,但是这可能导致空指针异常,Java 8新添加 Optional类可以从一定程度上来解决这个问题。
Optional
对象是一种包装器对象,要么包装了类型
的 对象,要么没有包装,对于第一种类型称之为值存在的,Optional
被当作一种更安全的方式,用来代替类型T 的引用,所以这种类型要么引用一个对象,要么为null。
在写程序的时候一般都遇到过 NullPointerException
,所以经常会对程序进行非空的判断:
User user = getUserById(id);
if (user