산으로 가자▲

String을 int로/ int를 String으로 변환 (문자열, 숫자 변환방법) 본문

Java

String을 int로/ int를 String으로 변환 (문자열, 숫자 변환방법)

이성욱입니다 2022. 10. 12. 10:16

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으로 변환하는 방법을 알아보았습니다.

 

출처: https://hianna.tistory.com/524 [어제 오늘 내일:티스토리]

'Java' 카테고리의 다른 글

instance of (객체타입 확인)  (0) 2022.10.12
배열의 값 출력하는 2가지 방법알아보기 (반복문과 Arrays.toString())  (0) 2022.10.12
람다함수란?  (1) 2022.10.11
해시맵(HashMap)  (1) 2022.10.10
객체지향(OOP)  (0) 2022.10.08