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 중국어 웹사이트의 기타 관련 기사를 참조하세요!