source

char 배열을 문자열로 다시 변환하는 방법

gigabyte 2022. 7. 23. 13:58
반응형

char 배열을 문자열로 다시 변환하는 방법

문자 배열이 있습니다.

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

현재의 해결방법은

String b = new String(a);

하지만 분명히 이것을 하는 더 좋은 방법이 있을까요?

아니요, 그 해결책은 완전히 정확하고 아주 미미합니다.

단, 이는 매우 이례적인 상황임을 유의하십시오.왜냐면StringJava에서 특별히 처리됩니다."foo"실제로는String따라서 스트링을 개별적으로 분할할 필요가 있습니다.chars 및 join back은 일반 코드에서는 필요하지 않습니다.

이것을 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[]

는 같은 문자를 가진 언박스의 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);

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

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

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

다음과 같은 String.value를 사용합니다.

  private static void h() {

        String helloWorld = "helloWorld";
        System.out.println(helloWorld);

        char [] charArr = helloWorld.toCharArray();

        System.out.println(String.valueOf(charArr));
    }
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]);
            }       }
    }
}
 //Given Character Array 
  char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};


    //Converting Character Array to String using String funtion     
    System.out.println(String.valueOf(a));
    //OUTPUT : hello world

Java 8 Stream 함수를 사용하여 임의의 어레이 유형을 String으로 변환

String stringValue = 
Arrays.stream(new char[][]{a}).map(String::valueOf).collect(Collectors.joining());

사용해보십시오.java.util.Arrays이 모듈에는 어레이와 관련하여 사용할 수 있는 다양한 유용한 방법이 있습니다.

Arrays.toString(your_array_here[]);

이거 드셔보세요

Arrays.toString(array)
String output = new String(charArray);

여기서 charArray는 문자 배열이고 출력은 문자열로 변환된 문자 배열입니다.

이것을 시험해 보세요.

CharSequence[] charArray = {"a","b","c"};

for (int i = 0; i < charArray.length; i++){
    String str = charArray.toString().join("", charArray[i]);
    System.out.print(str);
}

String Builder 클래스를 사용할 수도 있습니다.

String b = new StringBuilder(a).toString();

String 또는 String Builder의 사용은 메서드 요건에 따라 달라집니다.

한 가지 다른 방법은 다음과 같습니다.

String b = a + "";

언급URL : https://stackoverflow.com/questions/7655127/how-to-convert-a-char-array-back-to-a-string

반응형