[java] char 배열을 문자열로 다시 변환하는 방법은 무엇입니까?

char 배열이 있습니다.

char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};

내 현재 솔루션은

String b = new String(a);

그러나 분명히 이것을하는 더 좋은 방법이 있습니까?



답변

아니요, 해당 솔루션은 절대적으로 정확하고 매우 적습니다.

그러나 이것은 매우 드문 상황입니다. StringJava에서 특별히 처리 되기 때문에 "foo"실제로는 String. 따라서 char일반 코드 에서는 문자열을 개별으로 분할 하고 다시 결합 할 필요가 없습니다.

C / C ++와 비교해 "foo"당신의 번들이 char한쪽에와 0 바이트로 종료의 string그들 사이의 다른 측면에 많은 변환으로 인해 할 기존의 방법을.


답변

String text = String.copyValueOf(data);

또는

String text = String.valueOf(data);

논란의 여지없이 더 좋습니다 ( new String통화를 캡슐화합니다 ).


답변

이것은 char 배열을 다시 문자열로 변환합니다 :

char[] charArray = {'a', 'b', 'c'};
String str = String.valueOf(charArray);


답변

String str = "wwwwww3333dfevvv";
char[] c = str.toCharArray();

문자 배열을 String으로 변환하는 방법에는 두 가지가 있습니다.

Arrays.toString(c);

문자열을 반환합니다 [w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v].

과:

String.valueOf(c)

문자열을 반환합니다 wwwwww3333dfevvv.

요약하자면Arrays.toString(c) , "[w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v]"대신에 주의를 기울여야합니다 "wwwwww3333dfevvv".


답변

Java의 문자열은 단순히 문자 배열 주위의 객체입니다. 따라서

char[]

동일한 문자를 가진 unboxed String과 동일합니다. 문자 배열에서 새 문자열을 작성하여

new String(char[])

본질적으로 컴파일러에게 문자 배열 주위에 String 객체를 자동 상자 화하도록 지시합니다.


답변

String.valueOf방법 을 사용할 수 있습니다 .

예를 들어

char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
String b = String.valueOf(a);
System.out.println("Char Array back to String is: " + b);

char 배열 대 문자열에 대한 자세한 내용은 아래 링크를 참조하십시오.

https://docs.oracle.com/javase/7/docs/api/java/lang/String.html

https://www.flowerbrackets.com/convert-char-array-to-string-java/


답변

package naresh.java;

public class TestDoubleString {

    public static void main(String args[]){
        String str="abbcccddef";
        char charArray[]=str.toCharArray();
        int len=charArray.length;

        for(int i=0;i<len;i++){
            //if i th one and i+1 th character are same then update the charArray
            try{
                if(charArray[i]==charArray[i+1]){
                    charArray[i]='0';
                }}
                catch(Exception e){
                    System.out.println("Exception");
                }
        }//finally printing final character string
        for(int k=0;k<charArray.length;k++){
            if(charArray[k]!='0'){
                System.out.println(charArray[k]);
            }       }
    }
}