개발인생/Java

Java 형변환 | String ⇄ char

forri 2025. 3. 10. 19:13
 

String -> char (문자 인덱싱)

 1) char : str.charAt(i)
 2) char[ ] : str.toCharArray()

✔️코드 예제

public class StringToCharExample {
    public static void main(String[] args) {
        // 변환할 문자열
        String str = "Hello, Java!";

        // 1) charAt()을 사용하여 특정 위치의 문자 추출
        char firstChar = str.charAt(0); // 첫 번째 문자
        char lastChar = str.charAt(str.length() - 1); // 마지막 문자

        System.out.println("첫 번째 문자: " + firstChar); // H
        System.out.println("마지막 문자: " + lastChar); // !

        // 2) toCharArray()를 사용하여 문자열을 문자 배열로 변환
        char[] charArray = str.toCharArray();

        System.out.print("문자 배열 출력: ");
        for (char c : charArray) {
            System.out.print(c + " "); // H e l l o ,   J a v a !
        }
    }
}

 

 


char -> String (문자열 변환)

1) char : String.valueOf(ch)
2) char : Chracter.toString(ch) 

3) char[ ] : new String(charArray)

4) char[ ] : new StringBuilder() + sb.append(ch) ->2)번과 관련있음

 

✔️코드 예제

public class CharToStringExample {
    public static void main(String[] args) {
        // 변환할 문자
        char ch = 'A';

        // 1) String.valueOf() 사용
        String str1 = String.valueOf(ch);
        System.out.println("String.valueOf(ch): " + str1);

        // 2) Character.toString() 사용
        String str2 = Character.toString(ch);
        System.out.println("Character.toString(ch): " + str2);

        // 3) ""(빈 문자열)과 결합하여 변환
        String str3 = ch + ""; // 암시적 형변환
        System.out.println("ch + \"\": " + str3);

        // 여러 개의 char 배열을 String으로 변환하는 경우
        char[] charArray = { 'J', 'a', 'v', 'a' };
        
        // 4) String 생성자 사용
        String str4 = new String(charArray);
        System.out.println("new String(charArray): " + str4);

        // 5) StringBuilder를 활용한 변환 (성능 최적화)
        StringBuilder sb = new StringBuilder();
        for (char c : charArray) {
            sb.append(c);
        }
        String str5 = sb.toString();
        System.out.println("StringBuilder 활용: " + str5);
    }
}

 

 


✅ 변환 방법 선택

상황 추천
문자열에서 특정 문자 하나만 가져와야 한다. charAt(index)
문자열 전체를 char[]로 변환해서 조작해야 한다. toCharArray()
char을 String으로 변환할 때 가장 일반적인 방법 String.valueOf(char)
char을 String으로 변환하는데 직관적인 방법이 필요할 때 Character.toString(char)
빠른 코드를 원할 때 ("" + char를 단순 변환에만 사용할 때) "" + char

 

✅ 정리

- charAt(): 특정 문자 하나를 가져올 때 빠르고 효율적이지만 인덱스 예외 처리 필요
- toCharArray(): 문자열을 배열로 변환해 가공할 때 유리하지만 메모리 사용 증가
- String.valueOf(char): 가장 안정적이고 표준적인 변환 방법
- Character.toString(char): valueOf()와 유사하지만 Character 클래스에 특화
- "" + char: 간결하지만 성능이 떨어짐. 가벼운 변환엔 사용 가능

 

👉 String.valueOf()와 charAt()을 우선 사용하고, 메모리나 성능을 고려해 다른 방법을 선택하면 됨.

'개발인생 > Java' 카테고리의 다른 글

Java 형변환 | String ⇄ int  (0) 2025.03.10
Java 배열 변환 | String[] ⇄ int[]  (0) 2025.03.10