如果我有一个将整数作为参数的控制器,则可以为null
someFunc(...,...
@RequestParam(required=false) Integer integerObjThatCanBeNull,...){
return anotherFunc(...,integerObjThatCanBeNull...);
}
然后像这样将integerObjThatCanBeNull传递给anotherFunc
someFunc(..., int integerPrimitiveThatCanBeNull...){...
最初传入时,如何检查integerFbjThatCanBeNull是否为null?
最佳答案
问题是因为您要将原始请求中的整数拆箱到int
中的someFunc
中,并且不能对基元进行null检查。
做这个
someFunc(..., Integer integerPrimitiveThatCanBeNull)
if(integerPrimitiveThatCanBeNull== null)
注意
在原始代码中,当
null
从服务中传入并传递给someFunc
时,它将抛出NullPointerException
,因为您试图将空值自动装箱到int
中。在提供的解决方案中,如果您在执行if语句中的逻辑后不返回,则可以获取NullPointerException
。