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)를 사용하여 해결할 수 있다.