在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"