Ch9-28~31. 문자열 → 숫자
0. 목차
Chapter9. java.lang 패키지와 유용한 클래스
Ch9 - 28. 문자열을 숫자로 변환하기
Ch9 - 29. 문자열을 숫자로 변환하기 예제
Ch9 - 30. 오토박싱 & 언박싱
Ch9 - 31. 오토박싱 & 언박싱 예제
Ch9 - 28. 문자열을 숫자로 변환하기
▶ 문자열 → 숫자 변환하는 다양한 방법
▷ Integer → int
int i1 = new Integer("100").intValue();
int i2 = Integer.parseInt("100");
Integer i3 = Integer.valueOf("100");
▶ 문자열 → 기본형 & 문자열 → 래퍼 클래스 변환하는 다양한 방법
Ch9 - 29. 문자열을 숫자로 변환하기 예제
▶ n진법 문자열 → 숫자 변환
▷ 2진수, 8진수, 10진수, 16진수 다양한 방법으로 변환
int i = Integer.parseInt("100");
int i1 = Integer.parseInt("100", 2);
int i2 = Integer.parseInt("100", 8);
int i3 = Integer.parseInt("100", 16);
int i4 = Integer.parseInt("FF", 16);
int i5 = Integer.parseInt("FF");
// console
100 // i 10진수, 아무것도 적지 않으면 10진수
4 // i1 2진수
64 // i2 8진수
256 // i3 16진수
255 // i4 16진수에서 FF = 255
NumberFormatException 발생 // i5 10진수에 FF없음
Ch9 - 30. 오토박싱 & 언박싱
▶ 오토박싱(AutoBboxing)이란?
▷ int → Integer
▷ 즉 기본형 → 래퍼 클래스 변환하는 것
▷ jdk1.5 이전에는 기본형과 참조형 간의 연산이 불가능
- jdk1.5 이전
int i = 5; Integer iObj = new Integer(7); int sum = i + iObj; // ERROR! 기본형 + 참조형 덧셈 불가
- jdk1.5 이후
- 기본형-참조형 연산 : 컴파일 자동 형변환
int i = 5; Integer iObj = new Integer(7); int sum = i + iObj.intValue(); // 오토박싱, 기본형을 Integer로 감싸줌
▶ 언박싱이란?
▷ int ← Integer
▷ 즉 기본형 ← 래퍼 클래스 변환하는 것
- jdk1.5 이후
ArrayList<Integer> list = new ArrayList<Integer>(); // Integer만 들어갈 수 있는 배열 List.add(10); // Integer만 들어갈 수 있는데? → 오토박싱 → list.add(new Integer(10)); int value = list.get(0); // Integer를 int로 받고싶다고 바로 int value라고 작성 → 언박싱 → Integer intValue() 해 줌
Ch9 - 31. 오토박싱 & 언박싱 예제
▶ 기본형과 참조형 간의 자동 변환
▷ 컴파일 전
int i = 10;
Integer intg = (Integer)i;
Object obj = (Object)i;
Long lng = 100L;
int i2 = intg + 10;
long l = intg + lng;
▷ 컴파일 후
int i = 10;
Integer intg = Integer.valueOf(i); // int → Integer 오토박싱
Object obj = (Object)Integer.valueOf(i); // int → Object 오토박싱
Long lng = new Long(100L); // Long → long 언박싱
int i2 = intg + 10; // Integer + int
long l = intg + lng; // Integer + long