String을 int로, int를 String으로 변환

2023. 9. 14. 11:04 기타 정보/코딩테스트

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

'기타 정보 > 코딩테스트' 카테고리의 다른 글

너비 우선 탐색 (BFS) 정리  (0) 2023.09.14
동적 계획법 (DP) 정리  (1) 2023.09.14
java int 배열을 List로 변환  (0) 2023.09.14
java 배열을 List로, List를 배열로 변환  (0) 2023.09.14
java Character 메소드  (0) 2023.09.14
java String 메소드  (0) 2023.09.14
java 배열 메소드  (0) 2023.09.14
2진수 표현에서 1의 개수 세기  (0) 2018.12.17