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 |