백엔드/Java의 정석

TIL 정리_14

ran4 2022. 3. 1. 23:43

 

 

래퍼(wrapper)클래스

객체가 아닌 8개의 기본형을 객체로 다뤄야할 때 사용하는 클래스

public final class Integer extends Number implements Comparable {

private int value;

}

래퍼클래스의 생성자는 

char -> Character

int -> Integer

이 2개를 제외하고는 대문자로만 바꾸면 된다

 

Number클래스

숫자와 관련된 래퍼 클래스들은 모두 Number클래스의 자손이다

기본형 외에도 BigInteger과 BigDecimal이 포함되어 있다

 

문자열을 숫자로 변환하기

문자열을 숫자로 변환할 때는 아래의 방법 중 하나를 사용한다 

int I = new Integer(“100”).intValue(); //floatValue(), longValue(),

int i2 = Integer.parseInt(“100”); //주로 이 방법을 사용

Integer i3 = Integer.valueOf(“100”);

 

n진법의 문자열을 숫자로 변환

int i4 = Integer.parseInt("100", 2); //100(2) -> 4

 

오토박싱&언박싱

JDK 1.5이전에는 기본형과 참조형 간의 연산이 불가능하여

래퍼 클래스로 기본형을 객체로 만들어 연산해야 했다

이후 버전에는 컴파일러가 자동으로 변환하는 코드를 넣어준다

 

컴파일 전 컴파일 후
int i = 5;
Integer iObj = new Integer(7);
int sum = i + iObj;
int i = 5;
Integer iObj = new Integer(7);
int sum = i + iObj.intValue();

오토박싱 : 기본형 값을 래퍼 클래스의 객체로 자동변환하는 것

언박싱 : 래퍼 클래스의 객체를 기본형으로 변환 

int(기본형) 오토박싱-> Integer Integer 언박싱-> int(기본형)

 

 

'백엔드 > Java의 정석' 카테고리의 다른 글

TIL 정리_16  (0) 2022.03.03
TIL 정리_15  (0) 2022.03.02
TIL 정리_13  (0) 2022.02.28
TIL 정리_12  (0) 2022.02.27
TIL 정리_11  (0) 2022.02.26