IT 개발/개념 정리

[아이템 61] 박싱된 기본 타입보다는 기본 타입을 사용하라

UIJ 2022. 8. 15. 14:44
  • 기본 타입 / 박싱 타입의 차이
차이점 기본 타입 박싱 타입
속성 존재 여부 값만 존재 값 + 식별성
null 값 여부 유효한 값 null이 존재할 수도 있다(유효하지 않다)
메모리 효율적 비효율적

 

기본 타입과 박싱된 기본 타입을 혼용한 연산에서는 박싱된 기본 타입의 박싱이 자동으로 풀린다.

 

static Integer i;

public static void main(String[] args) {
    if ( i == 42) //null 참조를 언박싱하면서 NullPointerException이 발생한다
        System.out.println("믿을 수 없군!"); 
}

 

 

박싱된 기본 타입을 사용하는 경우

  • 컬렉션의 원소, 키, 값
  • 매개변수화 타입이나 매개변수화 메서드의 타입 매개변수로는 박싱된 기본 타입을 사용
  • 리플렉션을 통해 메서드를 호출할 때도 박싱된 기본 타입 사용
반응형