티스토리 뷰

목차

    반응형

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


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


    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)

    반응형