Python微信订餐小程序课程视频
https://edu.csdn.net/course/detail/36074
Python实战量化交易理财系统
https://edu.csdn.net/course/detail/35475
码农在囧途
随着时间的推移,曾经我们觉得重要的东西,可能在今天看来是如此的浅薄和无知,同理,今天我们放不下,想不开,觉得重要的东西,多年后我们可能也会觉得也就那样,所以,今天的的所有烦恼,忧愁,想不开,其实我们都没必要过于在意,因为有些东西随着时间的冲刷,也就那样了。
前言
Java8提供了Optional接口,Optional接口能够是我们的代码变得更加的优雅,可读性更高,同时能够很好的避免空指针,因为空指针是一个很让人头疼的问题,特别对于调用第三方接口,如果不知道对象的规约的时候,我们在取值的时候无法直到那些值能为空,那些不能为空,所以容易出现空指针,如果我们谨慎一点,可能会对每一个值进行判空处理,但是将会充斥着大量的if语句,甚是不雅观。
下面我们介绍一下Optional类的方法
empty()
返回一个空的Optional对象 Optional.empty
of(T value)
参数传入一个对象,返回一个Option对象,value不能为空,如果为null,将抛出空指针异常
/**
* @author 刘牌
* @date 2022-03-2921:52
*/
public class OptionalTest {
public static void main(String[] args) {
User user = null;
Optional optional = Optional.of(user);
System.out.println(user);
}
}
ofNullable(T value)
参数传入一个对象,可以为空,如果为空,将返回一个空的Optional对象,就等于Optional.empty(),输出的值为Optional.empty
,如果不为空,返回一个不为空的Optional对象
/**
* @author 刘牌
* @date 2022-03-2921:52
*/
public class OptionalTest {
public static void main(String[] args) {
User user = null;
Optional optional = Optional.ofNullable(user);
System.out.println(optional);
}
}
get()
获取Optional中的值,这个值也就是我们的值,Optional相当于就是一个外壳。
public class OptionalTest {
public static void main(String[] args) {
User user = null;
Optional optional = Optional.ofNullable(user);
User user1 = optional.get();
}
}
isPresent()
判断Optional对象中是否有值,如果有值,返回true,没值返回false。
true
public class OptionalTest {
public static void main(String[] args) {
User user = new User();
Optional optional = Optional.ofNullable(user);
System.out.println(optional.isPresent());
}
}
false
public class OptionalTest {
public static void main(String[] args) {
User user = null;
Optional optional = Optio