运算符未定义

时间:2013-04-20 19:21:25

标签: java operator-keyword

我只是想创建一个简单的类,让我弄清楚文件的长度:

public class Size {

    long s = 0;
    int a;

    public static void main(String[]args){
        new Size();
    }

    Size(){

        try{
        FileInputStream str = new FileInputStream("E:/Eclipse/Resources/smile.jpg");

        while(a != null){
            s++;
        }
        }catch (IOException e){
            e.printStackTrace();
        }

    }


}

我遇到了

的问题
while(a != null)

我收到错误:

  

对于参数类型int,null

,运算符!=未定义

为什么会阻止这种状况?

3 个答案:

答案 0 :(得分:16)

Java中的原始类型不能是null。如果要检查0,请执行a != 0

答案 1 :(得分:4)

a放入Integer对象,可以null进行比较:

Integer value = new Integer(a);

while (value != null)
{
    // Do stuff
}

答案 2 :(得分:0)

您应该仅为指针分配(或)检查NULL值。对于整数值,将其初始化为任何数字,如标志并检查该条件。 NULL can be assigned or checked only with a pointer variable