brunch

You can make anything
by writing

C.S.Lewis

by 김선우 Jun 03. 2016

valueOf, parseInt 차이

parseInt 의 리턴타입은 기본 자료형이다.

public static int parseInt(String s, int radix) throws NumberFormatException {
    return parseInt(s, radix);
}


valueOf  의 리턴타입은 객체다.

public static Integer valueOf(String s, int radix) throws NumberFormatException {
    return Integer.valueOf(parseInt(s,  radix));
}


radix 에 원하는 진수형태를 전달할 수 있으며, 

아래는 일반적으로 사용하는 형태로서 문자열만 입력 시 10진수의 형태로 변환한다.

public static int parseInt(String s) throws NumberFormatException {
    return parseInt(s,10);
}

사용 예)
int i = Integer.parseInt("String value");

valueOf 는 결국 parseInt 를 호출하는 형태이다. 

문자열을 변환할 때 객체로 받아서 사용하느냐, 기본 자료형으로 받아서 사용하느냐의 차이다.




**radix 란 기수다. **

기수란 숫자 자리 표시법에서 어떤 자리의 가중값(weight)으로, 이 수를 곱하면 바로 윗자리에 대한 가중값이 얻어지는 정수다. 예를 들면 256은 2×102+5×101+6×100으로 표현할 수 있는데, 이 경우 10을 기수라고 한다. 2진법의 기수는 2, 8진법의 기수는 8, 16진법의 기수는 16이다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari