문자열을 숫자로 변환하기
int i = new Integer("100").intValue(); // floatValue(), longValue(), ...
int i2 = Integer.parseInt("100"); // 주로 이 방법을 많이 사용.
Integer i3 = Integer.valueOf("100");

int i4 = Integer.parseInt("100", 2); // 100(2) -> 4
int i5 = Integer.parseInt("100", 8); // 100(8) -> 64
int i6 = Integer.parseInt("100", 16); // 100(16) -> 256
int i7 = Integer.parseInt("FF", 16); // FF(16) -> 255
int i8 = Integer.parseInt("FF"); // NumberFormatException발생
오토박싱 & 언박싱
오토박싱(autoboxing) : 기본형 → 래퍼 클래스 객체 (참조형)
언박싱(unboxing) : 래퍼 클래스 객체 (참조형) → 기본형
- JDK1.5 이전에는 기본형과 참조형 간의 연산이 불가능했기 때문에, 래퍼 클래스로 기본형을 객체로 만들어서 연산해야 했음.
int i = 5;
Integer iObj = new Integer(7);
int sum = i + iObj; // 에러. 기본형과 참조형 간 덧셈 불가(JDK1.5이전)
- 이제는 기본형과 참조형 간의 덧셈이 가능함. 자바 언어의 규칙이 바뀐 것은 아니고, 컴파일러가 자동으로 변환하는 코드를 넣어주기 때문.
// 기본형을 참조형으로 형변환(형변환 생략가능)
Integer intg = (Integer)i; // Integer intg = Integer.valueOf(i);
Object obj = (Object)i; // Object obj = (Object)Integer.valueOf(i);
Long lng = 100L; // Long lng = new Long(100L);
int i2 = intg + 10; // 참조형과 기본형간의 연산 가능
long l = intg + lng; // 참조형 간의 덧셈도 가능
Integer intg2 = new Integer(20);
int i3 = (int)intg2; // 참조형을 기본형으로 형변환도 가능(형변환 생략가능)
