Как преобразовать массив символов обратно в строку?

Технически «ndate» не является нулевым - это тип значения, при этом его значение указано как null.

Когда вы пишете DateTime?, это просто сокращение для Nullable , который является структурой. Нет никакого способа для этого технически быть нулевым, поскольку это не ссылочный тип.

378
задан Sam 11 April 2015 в 15:56
поделиться

12 ответов

Нет, это решение абсолютно правильное и очень минимальное.

Отметьте, однако, что это очень необычная ситуация: поскольку String обрабатывается специально в Java, даже "foo" на самом деле является String. Таким образом, в обычном коде нет необходимости разбивать строку на отдельные char и объединять их обратно.

Сравните это с C / C ++, где "foo" у вас есть пакет char, оканчивающийся нулевым байтом на одной стороне и string на другой стороне, и многие преобразования между ними обусловлены унаследованными методами.

201
ответ дан A.H. 11 April 2015 в 15:56
поделиться

String text = String.copyValueOf(data);

или

String text = String.valueOf(data);

, возможно, лучше (инкапсулирует вызов new String).

141
ответ дан rogerdpack 11 April 2015 в 15:56
поделиться

Это преобразует массив символов обратно в строку:

char[] charArray = {'a', 'b', 'c'};
String str = String.valueOf(charArray);
36
ответ дан Billz 11 April 2015 в 15:56
поделиться
String str = "wwwwww3333dfevvv";
char[] c = str.toCharArray();

Теперь, чтобы преобразовать массив символов в строку, есть два способа.

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".

11
ответ дан Teocci 11 April 2015 в 15:56
поделиться

Строка в Java это просто объект вокруг массива символов. Следовательно, a

char[]

идентична распакованной строке с теми же символами. Создавая новую строку из вашего массива символов

new String(char[])

, вы, по сути, говорите компилятору автоматически помещать объект String вокруг массива символов.

6
ответ дан Nathan Meyer 11 April 2015 в 15:56
поделиться

Попробуйте это

Arrays.toString(array)
0
ответ дан Jessica Pereira 11 April 2015 в 15:56
поделиться

Вы можете использовать метод 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/char-array-to-string-java/

3
ответ дан Shiva 11 April 2015 в 15:56
поделиться
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]);
            }       }
    }
}
2
ответ дан baikho 11 April 2015 в 15:56
поделиться

Попробуйте это:

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

for (int i = 0; i < charArray.length; i++){
    String str = charArray.toString().join("", charArray[i]);
    System.out.print(str);
}
-3
ответ дан Ben Leitner 11 April 2015 в 15:56
поделиться

Вы также можете использовать класс StringBuilder

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

Использование String или StringBuilder зависит от требований вашего метода.

-4
ответ дан David Medenjak 11 April 2015 в 15:56
поделиться

1 альтернативный способ сделать:

String b = a + "";
-12
ответ дан Patrick Kostjens 11 April 2015 в 15:56
поделиться
 //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 использования

String stringValue = 
Arrays.stream(new char[][]{a}).map(String::valueOf).collect(Collectors.joining());
0
ответ дан Arpan Saini 29 August 2019 в 19:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: