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)