- Wrapper 클래스
=> 기본자료형을 객체화 시킬 수 있는 클래스들
기본자료형 | Wrapper클래스 |
boolean | Boolean |
byte | Byte |
short | Short |
int | Integer✔ |
long | Long |
float | Float |
double | Double |
char | Character✔ |
* *기본자료형을 객체로 취급해야되는 경우
* - 메소드 호출해야될 때
* - 매개변수가 기본자료형이 아닌 객체타입만을 요구할때
* - 다형성을 적용시키고 싶을 때
- Boxing : 기본자료형 => Wrapper클래스 자료형
int num1 = 10;
int num2 = 15;
//1. 객체 생성구문을 통한 방법
Integer i1 = new Integer(num1); // num1 => i1으로 변환
Integer i2 = new Integer(num2); // num2 => i2으로 변환
System.out.println(i1); //10
System.out.println(i2); //15
// Integer에도 toString 오버라이딩 되어있어 주소값이 아닌 실제값 출력됨
//객체화 시키면 메소드 호출 가능
System.out.println(i1.equals(i2)); //false
System.out.println(i1.compareTo(i2)); //-1 // 두수를 비교해서 앞이 더 크면 1, 뒤가 더크면 -1, 일치하면 0을 반환 해줌
//2.객체 생성할 필요 없이 곧바로 대입 (AutoBoxing)
Integer i3 = num1;
Integer i4 = num2;
System.out.println(i3);
- UnBoxing : Wrapper클래스 자료형 => 기본자료형
//1. 해당 Wrapper클래스에서 제공하는 xxxValue()메소드 이용
int num3 = i1.intValue(); // i1 => num3
System.out.println(num3); //10
//2. 메소드 사용하지 않고 바로 대입(AutoUnBoxing)
int num4 = i2;
System.out.println(num4); //15
- 기본자료형 <----> String
String str1 = "10";
String str2 = "15.3";
>System.out.println(str1 + str2);// 1015.3 문자열간 덧셈 (문자 연이어짐)
str1과 str2의 값을 int/ double값으로 변환 후 덧셈연산하고싶을때 => wrapper클래스. parse xxx()사용
// String --> 기본자료형 (파싱)
// "10" --> 10 (int)
// "15.3"--> 15.3(double)
// 해당 Wrapper클래스. parseXXX() 사용
int i = Integer.parseInt(str1); //10
double d = Double.parseDouble(str2); //15.3
System.out.println(i+d); //25.3
// 기본자료형 --> String
// 10 --> "10"
// 15.3 --> "15.3"
// String.valueOf()사용
String strI = String.valueOf(i); //"10"
String strD = String.valueOf(d); //"15.3"
System.out.println(strI);
'JAVA' 카테고리의 다른 글
11. Exception_ UnCheckedException (0) | 2022.11.07 |
---|---|
10. API _ Date (0) | 2022.11.04 |
10. API _ StringTokenizer (0) | 2022.11.04 |
10.API_String 메소드 (0) | 2022.11.04 |
10. API_StringBuilder (1) | 2022.11.04 |