- 기본 자료형을 객체로 포장해주는 클래스
- 프로그램에 따라서 기본 타입을 객체로 취급해서 처리해야하는 경우에 사용
- 기본자료형을 Wrapper 클래스로 포장해주는 것을 Boxing
- Wrapper 클래스를 기본 자료형으로 변경해 주는 것을 unBoxing
Boxing/Unboxing
Boxing (기본 타입 → Wrapper 객체)
Wrapper 클래스로 객체를 생성하는 방법
public void method1(){
Integer integer = new Integer(10);
Double double1 = new Double(3.14);
Double double2 = new Double(3.14);
System.out.println(integer);
System.out.println(double1);
System.out.println(double2);
System.out.println(double1.equals(double2));
System.out.println(double1.compareTo(double2));
System.out.println(double1 == double2);
System.out.println();
}
정적 메소드를 통해서 생성하는 방법
public void method1(){
Integer integer = Integer.valueOf(10);
Double double1 = Double.valueOf(3.14);
Double double2 = Double.valueOf("3.14");
System.out.println(integer);
System.out.println(double1);
System.out.println(double2);
System.out.println(double1.equals(double2));
System.out.println(double1.compareTo(double2));
System.out.println(double1 == double2);
System.out.println();
}
Auto Boxing
public void method1(){
Integer integer = 10;
Double double1 = 3.14;
Double double2 = 3.14;
System.out.println(integer);
System.out.println(double1);
System.out.println(double2);
System.out.println(double1.equals(double2));
System.out.println(double1.compareTo(double2));
System.out.println(double1 == double2);
System.out.println();
}
Unboxing(Wrappper 객체 → 기본 타입)
Wrapper 객체의 메소드를 이용하는 방법
public void method1(){
int number = integer.intValue();
double dNumber1 = double1.doubleValue();
double dNumber2 = double2.doubleValue();
System.out.println(number);
System.out.println(dNumber1);
System.out.println(dNumber2);
System.out.println(dNumber1 == dNumber2);
}
Auto Unboxing
public void method1(){
int number = integer;
double dNumber1 = double1;
double dNumber2 = double2;
System.out.println(number);
System.out.println(dNumber1);
System.out.println(dNumber2);
System.out.println(dNumber1 == dNumber2);
}
String과 Wrapper 클래스 간의 변경
문자열을 기본 자료형으로 변경
public void method2(){
int iNumber = Integer.parseInt("10");
double dNumber = Double.parseDouble("3.14");
System.out.println(iNumber);
System.out.println(dNumber);
System.out.println(dNumber == iNumber);
System.out.println();
}
기본 자료형을 문자열로 변경
String 클래스의 valueOf() 메소드 사용
public void method2(){
String str1 = String.valueOf(10);
String str2 = String.valueOf(3.14);
System.out.println(str1);
System.out.println(str2);
System.out.println(str1 + str2);
System.out.println();
}
Wrapper 클래스의 valueOf() 메소드 사용
public void method2(){
String str1 = Integer.valueOf(10).toString();
String str2 = Double.valueOf(3.14).toString();
System.out.println(str1);
System.out.println(str2);
System.out.println(str1 + str2);
}