자바의 데이터 타입

기본 타입과 박싱된 기본 타입의 주된 차이

  1. 기본 타입은 값만 가지고 있지만 박싱된 기본 타입은 값과 식별성(identity)을 가진다.
  2. 기본 타입의 값은 언제나 유효, 박싱된 기본 타입은 null 가질 수 있다.
  3. 기본 타입이 박싱된 기본 타입보다 시간과 메모리 사용면에서 더 효율적이다.

비교자 구현

new Integer()

책 코드에서 사용된 new Integer()는 deprecated됨

Untitled

new Integer를 사용해 새로운 박싱된 기본 타입 객체 생성, 이를 비교하면 1을 출력한다.

  1. naturalOrder의 첫 번째 검사 (i<j)는 잘 작동한다.
  2. 첫 번째 정수값이 두 번째 값보다 작은지 평가하고 작지 않다면 (i==j)가 이뤄진다.

→ 박싱된 기본 타입에 == 연산자 사용하면 오류 일어남