推荐公众号
![程序员探索之路](https://i-blog.csdnimg.cn/blog_migrate/93320939ba8f8b0a898e29429753f496.png)
你遇到过这种脑血栓if吗?
if (Objects.nonNull(area)){
if (Objects.nonNull(area.getCity())){
if (Objects.nonNull(area.getCity().getTownShip())){
System.out.println(area.getCity().getTownShip().getName());
}else {
System.out.println("if方式----乡镇地址不存在");
}
}else {
System.out.println("if方式----乡镇地址不存在");
}
}else {
System.out.println("if方式----乡镇地址不存在");
}
或者是这样的
if (Objects.nonNull(area) && Objects.nonNull(area.getCity()) && Objects.nonNull(area.getCity().getTownShip())){
System.out.println(area.getCity().getTownShip().getName());
}else {
System.out.println("if方式----乡镇地址不存在");
}
清爽型获取------Optional.map
String townShipName = Optional.ofNullable(area)
.map(Area::getCity)
.map(City::getTownShip)
.map(TownShip::getName)
.orElse("option方式-----乡镇地址不存在");
System.out.println(townShipName);
其他方法
Optional还有其他方法例如
orElseThrow 为null抛出异常
filter 过滤
等等。。。。。