获取接口的Integer类型数据为null,报int java.lang.Integer.intValue()‘ on a null object reference

接收接口返回的null值也是要处理的,要返回类型是Integer类型的,你返回null就和声明一个变量初始化值给null一样的性质了,返回值为null没有错 关键是返回之后要进行判断if !=null 然后再操作
//
Integer 和 int 有一个 autoboxing的特性,我猜测是因为你返回 null。 而用到你这个返回值的时候 编译器会自动 转换成int。结果就报了空指针异常。可以看看 Integer的 源代码。 里面应该有涉及到 autoboxing 转换的方法。

Interger v;
//这样去判断值会保存
 if(v == 1){
    
    
...
    }else if(v == 0){
    
    
        ...
    }else if(v == null){
    
    
        ...
    }    

//要进行判断if !=null 然后再操作,这样就不会报,要处理一下不等于空

if(v!=null){
    
    

	 if(v == 1){
    
    
	...
	    }else if(v == 0){
    
    
	        ...
	    }else if(v == null){
    
    
	        ...
	    } 
}else{
    
    

.....
}

猜你喜欢

转载自blog.csdn.net/ShiXinXin_Harbour/article/details/109647204