在Java代码里,由于NullPointerException不属于强制捕捉的异常,它会隐藏在代码里,造成很多不可预料的bug。所以,我们会在拿到一个参数的时候,都会验证它的合法性,看一下它到底是不是null,代码中到处充满了这样的代码。
Java8引入了Optional类,用于解决臭名昭著的空指针问题。实际上,它是一个包裹类,提供了几个方法可以去判断自身的空值问题。
Optional.ofNullable(findCompany).map(Company::getSetting).map(Company.Setting::getOpenSync).ifPresent(openSync->{
if(openSync==1){
setting.setOpenSync(openSync);
findCompany.setSetting(setting);
companyDao.modifyCompany(findCompany);
}
});
Object obj = null;
obj.toString(); // Ops,出错了
Object obj = null;
String.valueOf(obj); //如果为null 返回 "null"