티스토리 뷰

Char (Character)를 String 으로, String을 Char로 변환하기

 

String을 Char로 변환해 아스키코드 등으로 연산을 마친 후 다시 String타입으로 리턴하고 싶을 때가 많다. 

아래 다양한 방법들을 소개하니 참고하세요.

 

 1. CHAR형 ARRAY를 하나씩 꺼내 CHARACTER.TOSTRING으로 변환

String temp = "캐릭터 변환하기";
char[] array = temp.toCharArray();
String change = "";
            
for (int j = 0; j < array.length; j++) {
    change+= Character.toString(array[j]);
}
System.out.println(change);

 

 >>캐릭터 변환하기

 

String의 toCharArray()를 이용해 char[] 배열로 작업한 뒤 반복문을 이용해 하나씩 다시 String에 넣어주는 과정이다. 

이보다 더 간편한 방법이 있다.

2. 캐릭터형 배열 CHAR[] 를 바로 STRING으로 변환

String.valueOf() 메소드에 매개변수로 char[]를 넣으면, String으로 곧바로 변환해준다.

 

char[] ary = {'a','b','c','d','e'};
String arrayString = String.valueOf(ary);
System.out.println(arrayString);

>>abcde

 

3. STRING 클래스의 생성자 이용하기.

String도 결국 클래스이므로 String str = new String("가나다"); 와 같은 선언이 가능한데,

String의 생성자에 간편한 옵션이 존재한다.

String을 선언할 때 파라미터로 char[]를 넣을 수 있고 인덱스도 정할 수 있다.

 

new String(char[] value, int offset, int count)

change = new String(array, 1, 5);
System.out.println(change);

>> 릭터 변환

 

.subString() 처럼 시작과 끝 인덱스를 넣어주면 된다.

4. 한 글자일때

String change1 = "";
char cr ='A';

 

Charater.toString() :

한 글자일때는 .toString()이 잘 먹힌다.

change1 = Character.toString(cr);

 

String.valueOf() :

valueOf()도 위와 클래스가 String이냐 Character냐만 다를 뿐 결과는 같다.

참고로 .toString()에 null값이 들어오면 Null Pointer Exception이 뜨지만

String.valueOf()는 null 문자열을 리턴한다.

change1 = String.valueOf(cr);

 

Character 객체 생성후 toString() :

change1 = new Character(cr).toString();
System.out.println(change1);

 >>A

 

 

 

댓글

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음



Total
Today
Yesterday
최근에 달린 댓글