JAVA

[JAVA] 문자열을 정수로 바꾸기

싱숭셩숭 2025. 3. 27. 02:27

https://school.programmers.co.kr/learn/courses/30/lessons/12925


자바에서 문자열(string)을 정수(integer)로 변환하는 방법

자바에서 문자열을 정수로 변환하는 대표적인 두 가지 방법

  • Integer.valueOf(s)
  • Integer.parseInt(s)

Integer.valueOf() 사용

class Solution {
    public int solution(String s) {
        int answer = 0;   
        answer = Integer.valueOf(s);
        return answer;
    }
}
  • 정상적으로 동작하는 코드지만, Integer.valueOf(s) 대신 Integer.parseInt(s)를 쓰는 게 더 일반적

차이점

메서드 반환 타입 특징
Integer.valueOf(s) Integer 객체 int로 사용할 때 자동 언박싱 발생
Integer.parseInt(s) 기본형 int 불필요한 Integer 객체 생성이 없음

 

Integer.valueOf(s)Integer 객체를 반환하고, 필요할 때 int로 변환(언박싱)하므로, 성능 면에서 Integer.parseInt(s)보다 불리할 수 있다


Integer.parseInt() 사용 + 최적화

class Solution {
    public int solution(String s) {
        return Integer.parseInt(s);
    }
}
  • int를 직접 반환하므로 불필요한 Integer 객체 생성이 없음
  • 불필요한 answer 변수 선언 없이 더 간결한 코드

2025.07.28 추가

Integer.parseInt(s)를 사용할 때 런타임 에러가 발생한다면 정수 변환 오류를 의심해보자.

s의 길이가 10자리 이상이거나, Long을 넘어가는 숫자일 경우 발생할 수 있다.

이 경우에는 Long.parseLong(s)를 사용하여 해결할 수 있다.