자바 형변환 정리

김지원·2024년 1월 15일
0

String형 -> 숫자형

String sNum = "1234";

int i1 = Integer.parseInt(sNum);
int i2 = Integer.valueOf(sNum);

double d1 = Double.parseDouble(sNum);
double d2 = Double.valueOf(sNum);

float f1 = Float.parseFloat(sNum);
float f2 = Float.valueOf(sNum);

long l1 = Long.parseLong(sNum);
long l2 = Long.valueOf(sNum);

short s1 = Short.parseShort(sNum);
short s2 = Short.valueOf(sNum);

parseInt와 valueOf의 차이점

parseInt는 문자열을 int로 변환하여 기본타입인 int로 반환 -> 반환타입이 기본타입이기 때문에 null 값 가질 수 없음.

valueOf는 문자열을 Integer 객체로 반환 -> 문자열을 Integer로 Wrapping한 객체 생성 -> auto-boxing 기능으로 문자열을 Integer 객체로 자동 변환 -> Integer 객체의 반환타입은 참조타입이기 때문에 null 값 가질 수 있음.

parserInt는 NumberFormatException 발생
valueOf는 NumberFormatException 발생X


숫자형 -> String형

int i = 1234;
String i1 = Integer.toString(i);
String i2 = String.valueOf(i);

double d = 1.23;
String d1 = Double.toString(d);
String d2 = String.valueOf(d);

float f = (float) 1.23;
String f1 = Float.toString(f);
String f2 = String.valueOf(f);

long l = 1234;
String l1 = Long.toString(l);
String l2 = String.valueOf(l);

short s = 1234;
String s1 = Short.toString(s);
String s2 = String.valueOf(s);

valueOf와 toString의 차이점

valueOf는 파라미터가 null이면 문자열 "null"을 만들어서 반환
toString은 값이 null이면 NPE 발생, Object에 담긴 값이 String이 아니어도 출력

valueOf의 null 체크 방법은 "null".equals(string)

0개의 댓글