>Java >java지도 시간 >Java의 int 및 Integer: 원시 대 객체—차이점은 무엇입니까?

Java의 int 및 Integer: 원시 대 객체—차이점은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-24 11:27:11418검색

Java's int and Integer: Primitive vs. Object—What's the Difference?

원시형과 객체: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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