java 연산자 정의되지 않습니다 : 자바 int null 체크

초보자들이 흔히 실수하는 한 형태입니다.


아래처럼 파일 길이를 파악하도록 간단한 클래스를 만듭니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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();
        }
    }
}
cs


위의 자바 소스 코드에서는 오류가 발생합니다.


1
while (a != null)
cs


이런 Java 에러 메시지를 확인할 수 있어요.


The operator! = is undefined for the argument type (s) int, null


이런 에러가 발생하는 원인은 무엇일까요?


정답 : java 기본 형태는 null 일 수 없습니다. 0을 확인하고 싶다면 !=0 을 이용해야 합니다.


초보분들은 흔히 null이 곧 0 이라고 생각하시는데요. 꼭 그렇진 않습니다. 경우에 따라 0 또는 null과 비교해야 합니다.



관련 글

자바 64비트 다운로드 링크 - Java 8 Update 211 버전

자바 배열 선언, 초기화, 사용법 - JAVA 입문

자바 java code has not been included, StarUML 에러 해결

자바 쓰레드 인터럽트 블로킹 해결 (Java Thread Interrupt Blocking)

이 글을 공유하기

댓글(0)

Designed by JB FACTORY