JDK8新特性之Optional类,5分钟包你完全学会
一、Optional类能干些什么
在编写代码的时候为了防止空指针异常,往往需要各种非空的判段,而过多的判段会导致代码臃肿不堪。为了解决这一问题JDK8引入了Optional类,对于程序员,养成使用Optional类习惯,可以写出更为优雅的代码。此外很多函数式编程相关的API也都用到了Optional类,如果不会Optional类会对函数式编程学习造成阻碍。
二、使用Optional类创建对象
Optional类就好像是一个包装类,我们可以把具体的数据封装到Optional对象内部。然后我们可以使用Optional类提供的方法去操作封装进去的数据从而就可以非常优雅地避免空指针异常。
Optional类包装对象的两种方式建议第一种
三、Optional类常用的API以及详解
1,isPresent,get和ifPresent
2,orElse,orElseGet 和orElseThrow都是对象为null时处理的方式
3,map和flatMap都是对操作的数据进行转换,得到的数据依然时OPtional类包装好的,保证了使用的安全
4,filter 对数据进行过滤如果都不符合判段的条件返回一个无数据的Optional对象
四、谈实际开发中的应用场景
不需要返回值,需要返回值,需要返回值且返回值为null时需要抛异常