如何检查int是否为null或为空?

时间:2010-09-29 10:09:11

标签: java integer int

我真的不知道这是否可能。 但是我想要检查一个int值是null是不是要调用不同的方法。

有什么办法吗?

实际上,变量来自具有null值的浏览器。 我无法将int声明更改为Integer。因为它有它自己的后果。

有什么建议吗?

8 个答案:

答案 0 :(得分:32)

int个变量不能为null

如果要将null转换为int,则转换器决定是设置0,抛出异常还是设置其他值(如Integer.MIN_VALUE })。尝试插入自己的转换器。

答案 1 :(得分:3)

我认为您可以将变量初始化为-1之类的值, 因为如果int类型变量未初始化,则无法使用。 如果要检查它是否不是您想要的值,可以检查它是否为-1

答案 2 :(得分:2)

我认为你在问这样的代码。

int  count = (request.getParameter("counter") == null) ? 0 : Integer.parseInt(request.getParameter("counter"));

答案 3 :(得分:1)

如果你的int变量被声明为类级变量(实例变量),它将被默认为0.但是这并不表示从客户端发送的值是0还是null。也许你可以有一个setter方法,可以调用它来初始化/设置客户端发送的值。那么你可以定义你的指标值,可能是一些负值来表示空值..

答案 4 :(得分:1)

public class Demo {
    private static int i;
    private static Integer j;
    private static int k = -1;

    public static void main(String[] args) {
        System.out.println(i+" "+j+" "+k);
    }
}
  

OutPut:0 null -1

答案 5 :(得分:0)

可能浏览器返回一些整数值的字符串表示? 实际上int不能为null。 可能是你可以检查null,如果value不为null,则将String表示转换为int。

答案 6 :(得分:0)

int不能为null。如果您没有为int赋值,则默认值为0.如果要检查null,则在声明中将int设为Integer。然后Integer对象可以为null。因此,您可以检查它是否为空。即使在javax bean验证中,在将变量声明为Integer之前,您也无法获得@NotNull注释的错误。

答案 7 :(得分:-3)

整数不能为空,但有一种非常简单的方法可以做你想做的事情。使用if-then语句,在其中检查所有可能值的整数值。

示例:

int x;

//Some Code...

if (x<=0 || x>0){
    //what you want the code to do if x has a value
} else {
    //what you want the code to do if x has no value 
}

声明: 我假设Java没有自动将数字值设置为0,如果它没有看到值。