Java 为什么字符数组列表内容不同于字符数组?
尝试将内容从Java 为什么字符数组列表内容不同于字符数组?,java,arrays,arraylist,Java,Arrays,Arraylist,尝试将内容从ArrayList复制到char数组时发现问题: ArrayList<Character> temp = new ArrayList<>(); for (int i = 0; i < length; i++) { if (string[i] != ' ') { temp.add(string[i]); } else { temp.add('%'); temp.add('2');
ArrayList
复制到char数组时发现问题:
ArrayList<Character> temp = new ArrayList<>();
for (int i = 0; i < length; i++) {
if (string[i] != ' ') {
temp.add(string[i]);
} else {
temp.add('%');
temp.add('2');
}
}
string = temp.toArray(string);
ArrayList temp=new ArrayList();
for(int i=0;i
我猜出现问题的原因是ArrayList
是Character
对象的列表,但数组是char[]
。
提前谢谢。你可以这样做
ArrayList<Character> temp = ...
String string=temp.stream().map(c->c.toString()).collect(Collectors.joining(""));
char[] charArray=string.toCharArray();
System.out.println(charArray);
ArrayList温度=。。。
String String=temp.stream().map(c->c.toString()).collect(collector.joining(“”);
char[]charArray=string.toCharArray();
系统输出打印LN(charArray);
您遇到了什么问题?难道你不认为解释你的问题而不仅仅是转储代码并抱怨你问的其他问题是有意义的吗?for循环中使用的变量“string”是什么?为什么你甚至使用ArrayList
?如果需要可变字符串,请使用a,然后使用sb.toString().toCharray()
将其转换为char[]
(如果变量名为sb
)正确的空格编码是%20
(而不是%2
),您可能只需要使用。