원시형과 객체: Java의 Integer 및 int 이해
Java에서 int와 Integer의 차이는 기본 특성에서 비롯됩니다.
int: 원시 데이터 Type
int는 숫자 값을 직접 보유하는 기본 데이터 유형입니다. 고정된 메모리 공간을 차지하고 정수의 이진 표현을 저장합니다.
Integer: 래퍼 클래스
반면 Integer는 다음을 래핑하는 래퍼 클래스입니다. int 값. 자체 메소드와 필드를 사용하여 Java의 다른 객체처럼 작동합니다. 정수 변수는 정수 객체에 대한 참조를 저장합니다.
인스턴스화 대 할당
표시된 코드는 이러한 차이점을 강조합니다.
int n = 9; // Assigns the value 9 to the primitive variable n
이 경우, n은 정수 값을 직접 저장합니다. 9.
// This code won't compile because Integer expects a reference to an object Integer n = 9;
메서드 호출
Integer와 같은 래퍼 클래스는 래핑된 값에 대한 작업을 허용하는 메서드를 제공합니다. 예를 들면 다음과 같습니다.
Integer.parseInt("1") // Parses a string into an int (returns an int)
int는 클래스가 아니므로parseInt와 같은 메서드가 없습니다.
// This code won't compile int.parseInt("1")
Autoboxing 및 Unboxing
Java 5에서는 기본 유형과 래퍼 유형 간에 자동으로 변환하는 자동 박싱 및 언박싱을 도입했습니다. 이러한 편의로 인해 미묘한 버그 및 성능 문제가 발생할 수 있으므로 명시적인 변환이 권장됩니다.
래퍼 클래스 계층
Java의 모든 기본 유형에는 동등한 래퍼 클래스가 있습니다. ), Short(short), Integer(int), Long(long), Boolean(boolean), Character(char), Float(float) 및 Double(더블).
Wrapper 클래스는 Object 클래스를 확장하여 객체 참조가 필요한 컬렉션 및 제네릭에서 사용할 수 있도록 합니다.
위 내용은 Java의 int 및 Integer: 원시 대 객체—차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!