[일반] Interger.valueOf 와 Interger.parseInt 의 차이점

개요

  • Integer.valueOfInteger.parseInt 두 메서드는 모두 문자열을 정수로 변환하는 역할을 한다.
  • 다만, 사용 방식과 반환 값, 그리고 성능 면에서 몇 가지 차이점이 있다.

반환 타입

  • Interger.valueOf
    • Interger 객체를 반환함
  • Integer.parseInt
    • 기본 데이터 타입 int 를 반환

캐싱

  • Interger.valueOf
    • -128 ~ 127 까지의 정수에 대한 Interger 객체는 캐싱되어있음
    • 같은 숫자를 요청하는 경우 캐싱된 객체를 반환하여 메모리 효율성 증대
      • 진짜 미미할듯 ㅋ
  • Integer.parseInt
    • 캐싱 X 근데 기본타입이라 캐싱의 의미가 없음.

사용용도

  • Interger.valueOf
    • 객체가 반환타입으로 필요한 경우
    • 캐싱의 이점을 누리는 경우
  • Integer.parseInt
    • 정수 값만 필요한 경우

성능

  • Interger.valueOf
    • 캐싱범위내면 빠르게 작동가능
  • Integer.parseInt
    • 캐싱 X , 캐싱범위밖이라면 일반적으로 더 빠름

    근데 원래 리소스 자체가 워낙이 안먹는 작업이라 의미 X

NULL처리

  • Interger.valueOf
    • 객체 반환이기에, NULL 저장가능
  • Integer.parseInt
    • NULL 처리가 불가능함


Uploaded by N2T