如何将字符数组转换回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 + "";