Java optional 用处

作为一个特性,我觉得最重要就是弄清楚它的用处,以后再需要的时候可以即使想起。

像try后面的(),optional也可以被认为是一个语法糖。

其作用:主要在于可以包含或不可以包含非空值
解决的问题是: java中非常讨厌的一点就是nullpoint,碰到空指针就会出错抛Exception,然后需要逐行检查是哪个对象为空,带来大量的不必要精力损耗,抛出NPE错误不是用户操作的错误,而是开发人员的错误,应该被避免,那么只能在每个方法中加入非空检查,阅读性和维护性都比较差。
 用法

Optional<SomeType> getSomeValue() {

// 返回一个空的Optional类型;

return Optional.empty();

}

 

Optional<SomeType> getSomeValue() {

SomeType value = ...;

// 使用这个方法,值不可以为空,否则抛exception

return Optional.of(value);

}
 

Optional<SomeType> getSomeValue() {

SomeType value = ...;

// 使用这个方法,值可以为空,如果为空返回Optional.empty

return Optional.ofNullable(value);

 

// usage

Optional<SomeType> someType = getSomeValue();

参考链接:(https://www.jdon.com/idea/java/using-optional-effectively-in-java-8.html)

猜你喜欢

转载自www.cnblogs.com/xiaolongdejia/p/11772179.html