본문 바로가기
old/Java

java.lang.Wrapper

by 물 개 2020. 11. 16.

자바에서 기본 타입 변수는 Heap 영역에 객체를 생성하지 않고 값을 그대로 가진다.

그런데 기본 타입의 값을 갖는 객체를 생성하고 싶다면?

이 때 사용하는 것이 Wrapper 클래스이며, 기본 타입의 값을 갖는 객체를 Wrapper 객체라고 한다.

기본 타입 포장 클래스
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double
boolean Boolean

 

▶ 박싱과 언박싱

Boxing : 기본 타입의 값을 포장 객체로 만드는 과정.

Unboxing : 포장 객체에서 기본 타입의 값을 얻어내는 과정.

 

 박싱하는 방법

1. Wrapper 클래스의 생성자를 이용

Byte obj = new Byte(10);
Character obj = new Character('가');
Short obj = new Short(100);
Integer obj = new Integer(1000);
Long obj = new Long(100000);
Float obj = new Float(2.5F);
Double obj = new Double(3.5);
Boolean obj = new Boolean(true);

매개변수에 기본 값 대신 문자열을 줘도 된다. 단, Character는 안 됨.

 

2. 각 포장 클래스마다 가지고 있는 정적 valueOf() 메소드 사용

Integer obj = Integer.valueOf(1000);
Integer obj = Integer.valueOf("1000");

마찬가지로 매개변수에 기본 값 대신 문자열을 줘도 된다. 단, Character는 안 됨.

 

 

 언박싱하는 방법

각 포장 클래스마다 가지고 있는 "기본타입명Value()" 메소드 사용

byte num = obj.byteValue();
char ch = obj.charValue();
short num = obj.shortValue();
int num = obj.intValue();
long num = obj.longValue();
float num = obj.floatValue();
double num = obj.doubleValue();
boolean bool = obj.booleanValue();

 

자동 박싱과 언박싱

자동 박싱

1) 포장 클래스에 기본 값이 대입될 경우

 

자동 언박싱

1) 기본 타입에 포장 객체가 대입될 경우

2) 포장 객체와 기본 값을 연산할 경우

 

 

문자열을 기본 타입 값으로 변환하기

대부분의 포장 클래스는 "parse+기본타입("문자열")" 형식으로, 문자열을 기본 타입으로 변환하는 static 메소드를 제공한다.

byte num = Byte.parseByte("10");
short num = Short.parseShort("10");
int num = Integer.parseInteger("10");
long num = Long.parseLong("10");
float num = Float.parseFloat("10F");
double num = Double.parseDouble("10.0");
boolean bool = Boolean.parseBoolean("true");

 

▶포장 값 비교

==와 != 연산자는 포장 객체의 참조를 비교하기 때문에, 내부의 값을 비교하려면

1) .equals() 메소드를 사용

2) 언박싱한 후 비교

'old > Java' 카테고리의 다른 글

java.util.Date / java.text.SimpleDateFormat  (0) 2020.11.16
java.lang.Math / java.util.Random  (0) 2020.11.16
java.util.Arrays  (0) 2020.11.16
정규 표현식과 Pattern 클래스  (0) 2020.11.16
java.util.StringTokenizer  (0) 2020.11.16

최근댓글

최근글

skin by © 2024 ttuttak