如果我有一个将整数作为参数的控制器,则可以为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

10-08 13:46