Как преобразовать массив char обратно в строку?
11 ответов
нет, это решение абсолютно правильное и очень минимальное.
заметьте, однако, что это очень необычная ситуация: Because String
обрабатывается специально на Java, даже "foo"
на самом деле String
. Таким образом, необходимость разделения строки на отдельные char
s и присоединиться к ним обратно не требуется в обычном коде.
сравните это с C/C++, где "foo"
пакета из char
s заканчивается нулевым байтом с одной стороны и string
на другой стороне и многое преобразования между ними из-за устаревших методов.
String text = String.copyValueOf(data);
или
String text = String.valueOf(data);
, возможно, лучше (инкапсулирует new String
звонок).
это преобразует массив символов обратно в строку:
char[] charArray = {'a', 'b', 'c'};
String str = String.valueOf(charArray);
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
.
строка в java-это просто объект вокруг массива символов. Отсюда a
char[]
идентичен распакованной строке с теми же символами. Создав новую строку из массива символов
new String(char[])
вы по существу говорите компилятору autobox строковый объект вокруг вашего массива символов.
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]);
} }
}
}
можно использовать 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 array to string вы можете ссылаться на ссылки ниже
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html
http://www.flowerbrackets.com/char-array-to-string-java-program/
попробуйте это:
CharSequence[] charArray = {"a","b","c"};
for (int i = 0; i < charArray.length; i++){
String str = charArray.toString().join("", charArray[i]);
System.out.print(str);
}
вы также можете использовать класс StringBuilder
String b = new StringBuilder(a).toString();
использование String или StringBuilder зависит от ваших требований к методу.