Java

94. 오토박싱 & 언박싱, 문자열과 숫자변환 - 패스트캠퍼스 백엔드 부트캠프 3기

gkss2tpt 2024. 12. 31. 16:20

1. 문자열을 숫자로 변환하기

  • 문자열을 숫자로 변환하는 다양한 방법
int i = new Integer("100").intValue();	// floatValue(), longValue(),...
int i2 = Integer.parseInt("100");	// 주로 이 방법을 많이 사용.
Integer i3 = Integer.valueOf("100");
문자열 -> 기본형 문자열 -> 래퍼 클래스
byte b = Byte.parseByte("100"); Byte b = Byte.valueOf("100");
short s = Short.parseShort ("100"); Short s = Short.valueOf("100");
int i = Integer.parseInt ("100"); Integer i = Integer.valueOf("100");
long l = Long.parseLong ("100"); Long l = Long.valueOf("100");
float f = Float.parseFloat ("3.14"); Float f = Float.valueOf("3.14");
double d = Double.parseDouble ("3.14"); Double d = Double.valueOf("3.14");
  • n진법의 문자열을 숫자로 변환하는 방법
int i4 = Integer.parseInt("100", 2);	// 2진수 100(2) -> 4
int i5 = Integer.parseInt("100", 8);	// 8진수 100(8) -> 64
int i6 = Integer.parseInt("100", 16);	// 16진수 100(16) -> 256
int i7 = Integer.parseInt("FF", 16);	// 16진수 FF(16) -> 255

 

2. 오토박싱 & 언박싱

  • JDK1.5이전에는 기본형과 참조형간의 연산이 불가능
int i = 5;
Integer iObj = new Integer(7);

int sum = i + iObj;	// JDK1.5이후 OK
컴파일 전의 코드 컴파일 후의 코드
in i = 5;
Integer iObj = new Integer(7);

int sum = i + iObj;
int i = 5;
Integer iObj = new Integer(7);

int sum = i + iObj.intValue();
  • 기본형의 값을 객체로 자동변환하는 것을 오토박싱, 그 반대는 언박싱
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(10);			// 오토박싱 10 -> new Integer(10)

int value = list.get(0);	// 언박싱 new Integer(10) -> 10