String <-> int 변환

최성민·2021년 1월 4일

알고리즘 풀이에서 많이 사용되는 String <-> int 변환하는 방법

  • String -> int 변환
    사용 가능한 메소드 :
    1. Integer.parseInt(String s)

      • return int(primitive type)
    2. 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 쓰는게 더 나음

  • int -> String 변환
  1. Integer.toString(int i)
  2. String.valueOf(int i)

    추가 메소드

    Integer.parseInt(String s, int radix)
    : radix 진법의 String s를 10진수의 int형으로 전환
  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


profile
공부합시다

0개의 댓글