我有一个char数组:
char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
我目前的解决方案是做
String b = new String(a);
但肯定有更好的办法吧?
我有一个char数组:
char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
我目前的解决方案是做
String b = new String(a);
但肯定有更好的办法吧?
当前回答
这将把char数组转换回字符串:
char[] charArray = {'a', 'b', 'c'};
String str = String.valueOf(charArray);
其他回答
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]);
} }
}
}
试试这个:
CharSequence[] charArray = {"a","b","c"};
for (int i = 0; i < charArray.length; i++){
String str = charArray.toString().join("", charArray[i]);
System.out.print(str);
}
尝试使用java.util.Arrays。这个模块有许多与数组相关的有用方法。
Arrays.toString(your_array_here[]);
String str = "wwwwww3333dfevvv";
char[] c = str.toCharArray();
现在要将字符数组转换为String,有两种方法。
Arrays.toString(c);
返回字符串[w, w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v]。
And:
String.valueOf(c)
返回字符串wwwwww3333devvv。
总结:注意Arrays.toString(c),因为你会得到“[w, w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v]”而不是“wwwwww3333dfevvv”。
不,这个解决方案是绝对正确的,而且非常简单。
但是请注意,这是一种非常不寻常的情况:因为String在Java中是专门处理的,甚至“foo”实际上也是一个String。因此,在正常的代码中,不需要将字符串分割成单独的字符并将它们重新连接起来。
与C/ c++相比,在“foo”中,你有一个字符束,一端以0字节结束,另一端以字符串结束,它们之间的许多转换都是由于遗留方法。