String을 int로, int를 String으로 변환
String -> int (문자열을 숫자로)
String 문자열을 int로 변환하기 위해서는
java.lang.Integer 클래스의 parseInt()와 valueOf() 메소드를 사용할 수 있습니다.
Integer.parseInt()
static int parseInt(String s)
java.lang.Integer 클래스의 static 메소드인 parseInt() 메소드는
파라미터로 숫자로 변환할 문자열을 입력받고,
입력받은 문자열을 integer로 변환한 int 값을 리턴합니다.
코드
public class StringToInt {
public static void main(String[] args) {
String str1 = "123";
String str2 = "-123";
int intValue1 = Integer.parseInt(str1);
int intValue2 = Integer.parseInt(str2);
System.out.println(intValue1); // 123
System.out.println(intValue2); // -123
}
}
결과
123
-123
Integer.valueOf()
static int valueOf(String s)
parseInt() 메소드와 마찬가지로
valueOf() 메소드는 java.lang.Integer 클래스의 static 메소드이고,
파라미터로 숫자로 변환할 문자열을 입력받습니다.
parseInt() 와 가장 큰 차이점은,
valueOf() 메소드는 문자열을 변환하여 Integer Object를 리턴한다는 것입니다.
parseInt() 메소드는 primitive type인 int를 리턴합니다.
(parseInt()와 valueOf()는 이 외에도 입력받는 파라미터의 타입 등의 차이점이 더 있습니다.)
코드
public class StringToInt {
public static void main(String[] args) {
String str1 = "123";
String str2 = "-123";
int intValue1 = Integer.valueOf(str1).intValue();
int intValue2 = Integer.valueOf(str2).intValue();
System.out.println(intValue1); // 123
System.out.println(intValue2); // -123
}
}
결과
123
-123
예제를 살펴보면,
int intValue1 = Integer.valueOf(str1).intValue();
Integer.valueOf() 메소드는 Integer Object를 리턴하기 때문에,
이 Integer Object를 primitive type인 int로 변환하기 위해,
Integer 클래스의 intValue() 메소드를 다시 한번 호출하였습니다.
(사실, intValue() 메소드를 따로 호출하지 않아도,
위 케이스의 경우 자동으로 형변환이 일어나지만,
여기에서는 valueOf() 메소드가 Integer를 리턴한다는 사실을 강조하기 위해서,
명시적으로 intValue() 메소드를 호출하여 주었습니다.)
int -> String (숫자를 문자열로)
int를 String으로 변환하기 위해서는
Integer.toString(), String.valueOf() 메소드를 이용할 수 있고,
간단하게는 빈 문자열과 int를 '+'연산자로 연결하여 문자열로 변환할 수 있습니다.
Integer.toString()
코드
public class IntToString {
public static void main(String[] args) {
int intValue1 = 123;
int intValue2 = -123;
String str1 = Integer.toString(intValue1);
String str2 = Integer.toString(intValue2);
System.out.println(str1);
System.out.println(str2);
}
}
결과
123
-123
Integer 클래스의 toString() 메소드를 사용하면 int를 문자열로 바꿀수 있습니다.
String.valueOf()
코드
public class IntToString {
public static void main(String[] args) {
int intValue1 = 123;
int intValue2 = -123;
String str1 = String.valueOf(intValue1);
String str2 = String.valueOf(intValue2);
System.out.println(str1);
System.out.println(str2);
}
}
결과
123
-123
java.lang.String 클래스의 valueOf() 메소드를 사용하여도,
int를 String으로 변경할 수 있습니다.
int + ""
코드
public class IntToString {
public static void main(String[] args) {
int intValue1 = 123;
int intValue2 = -123;
String str1 = intValue1 + "";
String str2 = intValue2 + "";
System.out.println(str1);
System.out.println(str2);
}
}
결과
123
-123
문자열에 int를 이어붙이면,
문자열이 리턴되는 속성을 이용한 방법입니다.
Java의 String을 int로, int를 String으로 변환하는 방법을 알아보았습니다.