삶 가운데 남긴 기록 AACII.TISTORY.COM
Wrapper 클래스 본문
자바는 기본 데이터 타입을 값으로 갖는 객체를 생성할 수 있습니다.
이러한 객체를 wrapper class 라고 합니다.
byte : Byte
char : Character
short : Short
int : Integer
long : Long
float : Float
double : Double
boolean : Boolean
Boxing/Unboxing
boxing: 기본 데이터 타입을 래퍼 클래스로 변환
unboxing: 래퍼클래스를 기본 데이터 타입으로 변환
public class BoxingUnBoxing {
public static void main(String[] args) {
//boxing
Integer obj1 = new Integer(100);
Integer obj2 = new Integer("200");
Integer obj3 = Integer.valueOf("300");
//unboxing
int value1 = obj1.intValue();
int value2 = obj2.intValue();
int value3 = obj3.intValue();
System.out.println(value1);
System.out.println(value2);
System.out.println(value3);
}
}
자동 박싱/언박싱
Integer객체를 int 타입 변수에 할당하거나 반대의 경우 자동적으로 박싱/언박싱이 됩니다.
public class AutoBoxing {
public static void main(String[] args) {
//자동 박싱
Integer obj = 100;
//자동 언박싱
int value = obj;
System.out.println(value);
int result = obj + 100;
System.out.println(result);
}
}
문자열을 기본 데이터 타입으로 변환
public class StringToInt {
public static void main(String[] args) {
int value1 = Integer.parseInt("100");
double value2 = Double.parseDouble("3.14");
boolean value3 = Boolean.parseBoolean("true");
System.out.println(value1);
System.out.println(value2);
System.out.println(value3);
}
}
래퍼 클래스 비교
public class ValueCompare {
public static void main(String[] args) {
Integer obj1 = 300;
Integer obj2 = 300;
System.out.println("obj1==obj2: "+(obj1 == obj2));
System.out.println("unboxing: "+(obj1.intValue() == obj2.intValue()));
System.out.println("equals: "+(obj1.equals(obj2)));
}
}
결과
obj1==obj2: false
unboxing: true
equals: true
728x90
'DEV&OPS > Java' 카테고리의 다른 글
자바 날짜, 시간, 달력 다루기 (0) | 2022.04.12 |
---|---|
Math, Random 클래스 (0) | 2022.04.12 |
Arrays 클래스 (0) | 2022.04.12 |
java.util.regex.Pattern 클래스 (0) | 2022.04.12 |
JAVA String 처리 (0) | 2022.04.11 |