Integer.parseInt(String s)
Integer.valueOf(String s).intvalue()
- return Integer(Wrapper Class)
2번 방법은 나중에 Map이나 hashtable, ArrayList에서 해당 원소의 값을 기본 타입으로 변환할때 사용하면 될듯
ArrayList<Integer> arr = new ArrayList<>();
arr.add(new Integer(3000));
int a = arr.get(0).intValue();
차이점 : parseInt()는 static method
valueOf()는 Instant method
따라서 Integer 객체의 여러가지 메소드가 필요한게 아니라 단순히 값만 필요하다면 parseInt 쓰는게 더 나음
Integer.parseInt("333", 4) (O)
Integer.parseInt("555", 4) (X) -> NumberFormatException
참고 문제
프로그래머스 문제 -> 가장 큰수
Integer.parseInt(String)는 int의 범위내로 변환해주는게 당연.
범위를 넘어가면 런타임 에러가 뜨게됨
이때는 Long.parseLong(String s)를 하게 되면 int보다 더 많은 범위를 커버 가능, String s를 10진수로 long type으로 반환.
Integer.parseInt(String s) return int
new Integer(String s) return Integer
Integer.valueOf(String s) return Integer
Integer.valueOf(String s).intValue() return int