问题遇到的现象和发生背景
我的业务需求内容:
简单描述一下,如果该值为空或为0则设置默认值1
问题相关代码,请勿粘贴截图
以下为模拟代码
public class main {
private static EmptybindInfo emptybindInfo = new EmptybindInfo();
public static void main(String[] args) throws InterruptedException, ExecutionException {
try {
Integer i = emptybindInfo.getflag();
i=0;
if(i==null||i==0){
emptybindInfo.setflag(1);
}
System.out.println(emptybindInfo.getflag());
}catch (Exception e){
e.printStackTrace();
}
}
}
public class main {
private static EmptybindInfo emptybindInfo = new EmptybindInfo();
public static void main(String[] args) throws InterruptedException, ExecutionException {
try {
Integer i = emptybindInfo.getflag();
i=0;
if(i==0||i==null){
emptybindInfo.setflag(1);
}
System.out.println(emptybindInfo.getflag());
}catch (Exception e){
e.printStackTrace();
}
}
}
运行结果及报错内容
第一段代码运行不报错且成功设置默认值
第二段代码运行爆了空指针的错误
我的解答思路和尝试过的方法
这是因为什么呢?有人有遇到过相关问题的吗,可以解释一下原理吗