item 61) 박싱된 기본타입보단 기본 타입을 사용하라
기본 타입과 박싱된 기본 타입의 차이점
기본 타입은 값만 가지고 있지만, 박싱된 기본 타입은 값에 더해 식별성이라는 속성을 가진다.
기본 타입의 값은 언제나 유효하나, 박싱된 기본 타입은 유효하지 않은 값(null)을 가질 수 있다.
기본 타입이 박싱된 기본 타입보다 시간과 메모리 사용 면에서 효율적이다.
박싱된 기본 타입에 == 비교 연산자를 사용 시 주의해야 한다. 두 객체 참조의 식별성을 검사하기 때문에, 내부 값이 같아도 다른 인스턴스라면 다르다고 결과가 나온다.
박싱된 기본 타입의 초기값은 다른 참조 타입 필드와 마찬가지로 null이다. 기본 타입의 초기값과는 다를 것이다.
기본 타입과 박싱된 기본 타입을 혼용한 연산에서는, 박싱이 자동으로 풀려 연산이 수행된다.
박싱된 기본 타입 사용하는 경우
기본 타입을 지원하지 않는 "컬렉션의 원소, 키, 값, 매개변수화 타입이나 매개변수화 메서드의 타입 매개변수"에서 사용해야 한다.
reflection(item 65)을 통해 메서드 호출 시에 박싱된 기본 타입을 사용해야 한다.
Last updated