【发布时间】:2017-05-10 13:59:35
【问题描述】:
在我的代码中,我首先将两个字符串数组添加到字符串数组列表中。在我的 toString() 方法中,我想打印 arrayList 以便每次到达 char ',' 时,我们都会在下一行(连续)打印下一个数组。但是通过这段代码,我得到了第一个数组的一行和第二个数组的一列。我在这里做错了什么?
代码:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class PrintList {
static String[] data = {"cat","dog"," ","hen",","};
static String[] data2 = {"ttt","yyy","ggg","ddd", ","};
static ArrayList <String> list = new ArrayList<>();
public static void main(String[] args) {
dataRecord();
System.out.print(listToString(list));
}
public static void dataRecord () {
list.addAll(Arrays.asList(data));
list.addAll(Arrays.asList(data2));
}
public static String listToString (List <?> list) {
String result = "";
for (int i = 0; i < list.size(); i++) {
result += " " + list.get(i);
if (result.indexOf(',') >= 0) {
result = result + System.lineSeparator();
}
}
return result;
}
}
【问题讨论】:
-
附带说明,不要在循环内连接字符串,使用 StringBuilder 会更节省内存。