안녕하세요. 제임스 입니다.
최근에 자바 Number 관련 함수 중 valueOf 와 parseInt 에 대해 정리 했는데요.
이 두 함수의 차이점은 무엇일까요?
parseInt 함수에 대한 내용은 아래 링크 참조하세요.
2018/03/06 - [Java] - [ 자바 코딩 ] Java Integer.parseInt
valueOf 함수에 대한 내용은 아래 링크 참조하세요.
2018/03/26 - [Java] - [ 자바 코딩 ] Java Number - valueOf() 함수
Integer.parseInt() vs Integer.valueOf() 두 함수의 차이점은 무엇일까요?
결정적인 차이점은 parseInt 함수는 int 형의 primitive data type 을 리턴하는 반면 valueOf 함수는 Integer 객체로 반환한다는 점입니다.
1 2 | int x = Integer.parseInt("5"); Integer y = Integer.valueOf("7"); | cs |
위 코드는 각각 int 값 5 와 Integer 값 7 을 리턴합니다.
또 다른 한가지는 차이점이라 이야기 하긴 어렵긴 한데요...
사실 valueOf 함수가 내부적으로 parseInt 함수를 사용하고 있습니다.
아래는 Integer.class 소스 내용 중 관련 부분 발췌했습니다.
public static int parseInt(String s) throws NumberFormatException {
return parseInt(s, 10);
}
public static Integer valueOf(String s, int radix) throws NumberFormatException {
return Integer.valueOf(parseInt(s, radix));
}
public static Integer valueOf(String s) throws NumberFormatException {
return Integer.valueOf(parseInt(s, 10));
}
valueOf 함수 결과 값을 리턴 할때 이미 내부적으로 parseInt 한 값을 Integer 형으로 리턴하고 있는 것을 보실 수 있습니다.
두 함수의 차이점 이해 하셨나요?
비슷하지만 다른 두 함수의 리턴 값, 잘 알아 두시면 좋을 거예요.
▼ 도움이 되셨다면 로그인이 필요 없는 ▼
▼ 하트 클릭 한번 부탁 드립니다 ▼
감사합니다 :D
'Java' 카테고리의 다른 글
[ 자바 코딩 ] Java Integer.tostring() 함수를 써야 하는 이유 (488) | 2018.03.30 |
---|---|
[ 자바 코딩 ] Java Numbers - toString() 함수 (477) | 2018.03.29 |
[ 자바 코딩 ] Java Number - valueOf() 함수 (507) | 2018.03.26 |
[ 자바 코딩 ] Java Number - equals() 함수 (457) | 2018.03.23 |
[ 자바 코딩 ] Java Number - compareTo() 함수 (704) | 2018.03.22 |