如何将字符数组转换回string?

我有一个字符数组:

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

我目前的解决办法是做

 String b = new String(a); 

但是肯定有这样做的更好的方法?

不,这个解决scheme是绝对正确的,而且非常小巧。

但是请注意,这是一个非常不寻常的情况:由于String是在Java中专门处理的,所以即使"foo"实际上也是一个String 。 因此,在正常的代码中不需要将string分割成单独的char并将其join。

将此与C / C ++进行比较,其中"foo"一端是零字节,另一端是string ,由于遗留方法的原因,它们之间有许多转换。

String text = String.copyValueOf(data);

要么

String text = String.valueOf(data);

可以说是更好(封装new String调用)。

这将把char数组转换回string:

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

java中的String只是一个字符数组的对象。 因此a

 char[] 

与具有相同字符的取消装箱的string相同。 通过从您的字符数组中创build一个新的string

 new String(char[]) 

你实质上是告诉编译器在你的字符数组周围自动包装一个String对象。

 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]); } } } } 

尝试这个

 Arrays.toString(array) 

你可以使用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

http://www.flowerbrackets.com/char-array-to-string-java-program/

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

现在要将字符数组转换为string,有两种方法。 我正在build立在库工具:

 Arrays.toString(c); 

这将打印[w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v]

另一种方法是: String.valueOf(c)) — o / p将是wwwwww3333dfevvv

尝试这个:

 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的使用因您的方法要求而异。

另一种方法是做:

 String b = a + "";