>  기사  >  Java  >  Java에서 int와 정수의 차이점은 무엇입니까?

Java에서 int와 정수의 차이점은 무엇입니까?

青灯夜游
青灯夜游원래의
2019-12-26 16:26:463959검색

Java에서 int와 정수의 차이점

●int는 기본 데이터 유형이고 int 변수는 숫자 값을 저장합니다. Integer는 참조 데이터 유형이며 실제로 객체이며 Integer는 참조의 주소를 저장합니다. 개체 .

● int의 기본값은 0이고 Integer의 기본값은 null입니다.

● int 유형은 값을 직접 저장하며 Integer는 객체를 인스턴스화하고 객체의 주소를 가리켜야 합니다.

【추천 학습: Java 비디오 튜토리얼

int와 Integer가 차지하는 메모리 비교:

Integer 객체는 더 많은 메모리를 차지합니다. 정수는 객체이며 객체의 메타데이터를 저장해야 합니다. 그러나 int는 원시 데이터 유형이므로 공간을 덜 차지합니다.

non-new로 생성된 Integer 변수와 new Integer()로 생성된 변수를 비교한 결과 false입니다.

/**
 * 比较非new生成的Integer变量与new生成的Integer变量
 */public class Test {
    public static void main(String[] args) {
        Integer i= new Integer(200);
        Integer j = 200;
        System.out.print(i == j);        //输出:false
    }
}

non-new에 의해 생성된 Integer 변수는 Java 상수 풀의 객체를 가리키는 반면, new Integer()에 의해 생성된 변수는 힙에 새로 생성된 객체를 가리키기 때문에 두 변수의 메모리에 있는 주소는 다릅니다. 따라서 출력은 거짓입니다.

새로 생성되지 않은 두 정수 개체를 비교합니다.

두 변수의 값이 [-128,127] 간격 사이에 있으면 비교 결과는 true이고, 그렇지 않으면 결과는 false입니다.

/**
 * 比较两个非new生成的Integer变量
 */public class Test {
    public static void main(String[] args) {
        Integer i1 = 127;
        Integer j1 = 127;
        System.out.println(i1 == j1);//输出:true
        Integer i2 = 128;
        Integer j2 = 128;
        System.out.println(i2 == j2);//输出:false
    }
}

Java가 Integer i1 = 127을 컴파일하면 Integer i1 = Integer.valueOf(127)로 변환됩니다.

정수 변수(new에 의해 생성되었는지 여부)는 int 변수와 비교됩니다.

두 변수의 값이 동일한 한 결과는 true입니다.

/**
 * 比较Integer变量与int变量
 */public class Test {
    public static void main(String[] args) {
        Integer i1 = 200;
        Integer i2 = new Integer(200);        int j = 200;
        System.out.println(i1 == j);//输出:true
        System.out.println(i2 == j);//输出:true
    }
}

래핑된 Integer 변수를 기본 데이터 유형 int 변수와 비교할 때 Integer는 이를 자동으로 int로 압축 해제한 다음 실제로 두 int 변수를 비교하므로 값이 동일합니다. 사실이다.

위 내용은 Java에서 int와 정수의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.