본문 바로가기
프로그래밍/Java, Spring

[Java] 기본형과 문자열 간 변환 (기본형 ↔ String)

by joeun 2022. 4. 28.

1. 기본형 → 문자열 (String)

String s = String.valueOf(Object obj); 

String  String.valueOf(boolean b)
String  String.valueOf(char c)
String  String.valueOf(int i)
String  String.valueOf(long l)
String  String.valueOf(float f)
String  String.valueOf(double d)

* byte, short -> String.valueOf(int i) 사용

 

 

 

 

 


 

2. 문자열 (String) → 문자 (Char)

문자열 "A" -> 문자 'A'로 변경할 때

char ch = "A".charAt(0);

 

 

 

 

 


 

3. 문자열 (String) → 기본형

boolean  Boolean.parseBoolean(String s)
byte     Byte.parseByte(String s)
short    Short.parseShort(String s)
int      Integer.parseInt(String s)
long     Long.parseLong(String s)
float    Float.parseFloat(String s)
double   Double.parseDouble(String s)

* NumberFormatException 발생에 주의 -> trim() 메서드 사용하여 양끝 공백 제거

 

 

 

 

 


 

4. 문자열 (String) 래퍼 클래스 (wrapper Class)

Boolean  Boolean.valueOf(String s)
Byte     Byte.valueOf(String s)
Short    Short.valueOf(String s)
Integer  Integer.valueOf(String s)
Long     Long.valueOf(String s)
Float    Float.valueOf(String s)
Double   Double.valueOf(String s)

오토박싱&언박싱(since JDK1.5) 기능 덕분에 메서드가 래퍼 클래스로 반환하더라도

기본형 참조변수로 받는 것이 가능하기 때문에 위의 3번과 큰 차이는 없으나 valueOf()가 성능이 조금 더 느리다.  

 

 

- 오토박싱(autoboxing) : 기본형 값을 래퍼 클래스의 객체로 자동 변환   

   ex) int -> Integer

 

- 언박싱(unboxing) :  래퍼 클래스 객체를 기본형 값으로 변환

   ex) Integer -> int 컴파일 과정에서 intValue() 자동 추가              

 

 

int i = Integer.parseInt("10");
int i2 = Integer.valueOf("10");		// 언박싱 -> Integer.valueOf("10").intValue();

 

 

 

 

 

 


 

참고

  • 남궁 성. 『Java의 정석 3판』. 도우출판, 2016.