JAVA에서 String을 숫자 값으로 변형할 때
Integer.parseInt()
또는 Integer.valueOf()
메서드를 많이 활용하는데,
이 두 메서드의 정확한 차이점은 뭘까?🤔
parseInt() | valueOf() |
---|---|
원시데이터인 int 타입을 반환 | Integer 래퍼(wrapper) 객체를 반환 |
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(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
메서드 명만 언뜻 보기에는 비슷해 보였으므로 그 차이가 궁금해서 알아보고
그 차이를 포스팅해보았는데,,,이거 완전히 다른 메서드였네? ㅎㅅㅎa...
기본 int가 필요하면 parseInt() , 래퍼 객체 Intege가 필요하면 valueOf() 사용.
무궁무진한 메서드의 세계 ~.~