반응형
Greensky0026
삽질러의 대환장 공사판
Greensky0026
전체 방문자
오늘
어제
  • 분류 전체보기 (241)
    • Language (56)
      • JAVA (13)
      • Swift (38)
      • Kotlin (4)
      • Dart (0)
      • PHP (0)
      • JavaScript (1)
    • IDE & Framework (92)
      • Spring (10)
      • Android (48)
      • iOS (8)
      • NodeJS (1)
      • CodeIgniter (3)
      • Flutter (1)
      • 분류중 (18)
    • Infra (8)
    • Database (12)
    • VCS (4)
    • Debug Log (34)
      • java (7)
      • swift (3)
      • Android (9)
      • Web (7)
      • 삽질기 (7)
    • Others (19)
      • 코딩테스트 풀이 (0)
      • IT 이야기 (18)
    • 쉼터 (2)
    • 개발공부 (14)
      • Network (1)
      • 자료구조와 알고리즘 (2)
      • Code design (8)
      • ETC (1)
      • 아카이브 (1)

블로그 메뉴

    공지사항

    • 프로그래머스 코딩 테스트 관련글 비공개 처리

    인기 글

    태그

    • 예제
    • Android
    • kotlin
    • map
    • 프로그래머스
    • xcode
    • IT
    • 코딩테스트
    • JSP
    • level1
    • Java
    • swfit
    • 개발
    • reduce
    • 타입
    • swift
    • ios
    • 구축
    • 프로그래밍
    • 공부

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    Greensky0026

    삽질러의 대환장 공사판

    Int와 Integer의 차이
    Language/JAVA

    Int와 Integer의 차이

    2022. 9. 29. 21:08
    반응형

    이번에 회사에서 개발을 하면서 난감했던 적이 있었습니다.

    페이징 작업을 위해 클라이언트로부터 limit - offset값을 받아야 했습니다.

    excel 출력을 위해서 페이징하지 않는 목록을 받기 위해 limit - offset값을 받지 않는 경우도 있었죠.

    그런데, 후자의 경우 limit - offset 둘다 0으로 입력받게 되었습니다. 망했죠


    1. int란

    int는 primitive 자료형이다.

    primitive 자료형은 데이터의 형태에 따라 값이 저장될 공간의 크기 및 형식을 정의합니다.

     

    2. Integer란

    int 자료형을 감산 wrapper class 이다.

    자료형(data type)가 아닌 class입니다.

    매개변수로 객체가 필요할 떄, 자료형이 아니라 객체로 저장할 떄, 객체간 비교가 필요할 떄 사용합니다.

    3. 차이

    int는 산술연산이 가능하지만, Integer는 그 자체로는 산술연산이 불가능합니다.(되긴하는데, 오토언박싱덕분에 가능합니다)

    Integer는 null값 처리가 가능하지만 int는 불가능합니다.

    null값을 사용할 수 있다는거 자체로 DB와 주고받을 DTO, VO에 사용하기 굉장히 좋죠.

    4. 박싱(Boxing)과 언박싱(Unboxing)

    Boxing은 Primitive자료형에서 Wrapper클래스로,

    Unboxing은 Wrapper클래스에서 Primitive자료형으로 변환함을 말합니다.

    //Boxing
    int i = 1;
    Integer ii = new Integer(i);
    
    //Unboxing
    Integer ii = 1;
    int i = ii.intValue();

    5. ValueOf()와 parseInt()

    주로 문자열을 정수형으로 바꿀때 사용하는 두 함수입니다.

    Integer.ValueOf(String)는 문자열을 Integer로, Integer.parseInt(String)은 int형으로 반환합니다.

     

    5.번외

    그거 아시나요...?

    double은 자료형이고 Double은 래퍼 클래스입니다. 처음알았습니다...

    모든 기본 자료형은 래퍼클래스를 생성가능한데, 

    double -> Double, float -> Float 등등으로 가능한데, 

    int -> Integer, char -> Character 이 둘만 래퍼클래스명이 자료형과 다르네요.

    반응형
    저작자표시 비영리 (새창열림)

    'Language > JAVA' 카테고리의 다른 글

    순회중 컬렉션의 크기를 바꾸면 생기는 일 - ConcurrentModificationException 추적하기  (2) 2023.02.12
    JavaScript)문자열 자르기 - substring, slice() [짧]  (0) 2022.09.08
    Checked, Unchecked Exception  (0) 2022.08.10
    JavaBean이란? + 자바빈 규약  (0) 2022.04.16
    Oracle JDK Archive Link  (0) 2021.12.01
      'Language/JAVA' 카테고리의 다른 글
      • 순회중 컬렉션의 크기를 바꾸면 생기는 일 - ConcurrentModificationException 추적하기
      • JavaScript)문자열 자르기 - substring, slice() [짧]
      • Checked, Unchecked Exception
      • JavaBean이란? + 자바빈 규약
      Greensky0026
      Greensky0026
      점이 모여 선이 된다. 내 삽질도 언젠간 거대한 지하 도시가 되겠지!

      티스토리툴바