반응형
문자열(String)을 정수로 변환하는 작업은 자주 있는 일입니다. 반대로 정수를 문자열로 변환하는 것도 마찬가지겠죠
이번 포스팅에선 문자열을 정수로 변환해주는 메서드 parseInt() 와 valueOf() 에 대해 알아보고 이 둘의 차이점에 대해 설명해보고자합니다.
Integer.parseInt()
parseInt() 메서드는 파라미터로 숫자로 변환할 문자열을 입력받고, 기본형인 int(정수)로 변환합니다.
두번째 매개변수가 생략된 경우 10진수로 변환된 값을 반환하고, 10진수가 아닌 다른 진수로 변환하고 싶으면 두 번째 매개변수에 변환하고자 하는 진수를 입력합니다.
public class ParseInt {
public static void main(String[] args) {
String str1 = "1234";
String str2 = "-1234";
String str3 = "ABCD";
String str4 = "1000";
int num1 = Integer.parseInt(str1);
int num2 = Integer.parseInt(str2);
int num3 = Integer.parseInt(str3, 32);
int num4 = Integer.parseInt(str4, 16);
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
}
}
또한 다른 타입의 숫자를 바꾸고 싶다면 다음처럼 사용할 수 있습니다.
정수(int) | Integer.parseInt() |
실수(float) | Float.parseFloat() |
실수(double) | Double.parseDouble() |
롱(long) | Long.parseLong() |
Integer.valueOf()
valueOf() 메서드는 파라미터로 숫자로 변환할 문자열을 입력받고, 참조형인 new Integer(정수)로 변환합니다.
valueOf() 메서드는 문자열의 값을 정수형(int)로 변환한 다음 Integer Object(객체)로 만들어서 반환합니다.
즉, new Integer(Integer.parseInt(string)) 값이 리턴됩니다.
public class ValueOf {
public static void main(String[] args) {
String str1 = "1234";
String str2 = "-1234";
String str3 = "ABCD";
String str4 = "1000";
int num1 = Integer.valueOf(str1);
int num2 = Integer.valueOf(str2);
int num3 = Integer.valueOf(str3, 32);
int num4 = Integer.valueOf(str4, 16);
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
}
}
parseInt()와 valueOf()의 차이점은 기본형으로 반환하냐, 참조형으로 반환하냐의 차이이며 다음과 같이 필요에 따라 사용하면 됩니다.
기본형 int 로 반환하고 싶을 때 = Integer.parseInt()
참조형 new Integer() 로 반환하고 싶을 때 = Integer.valueOf()
기본형과 참조형에 대해서는 아래 포스팅에 설명해놓았으니 읽어보시면 도움되실겁니다.
'◼ JAVA' 카테고리의 다른 글
[Java/자바] StringBuilder 클래스란 ? (0) | 2022.10.13 |
---|---|
(Java/자바) 숫자를 문자열로 변환 - toString(), valueOf() (0) | 2022.10.12 |
Java - 특수 문자 다루기 (0) | 2022.10.11 |
Java - print, println, printf 출력문의 모든 것 (0) | 2022.10.10 |
Java - 상수와 리터럴 ( constant 와 literal ) 이란? (0) | 2022.10.07 |