在java中编译一个ArrayList后,如何将它打印为字符串?UsingArrayList.toString()
给出的值带有括号,它们之间有逗号。
我想打印它们而不用括号,它们之间只有空格。
(假设 Java)
您可以编写自己的方法来做到这一点:
public static <T> String listToString(List<T> list) {
StringBuilder sb = new StringBuilder();
boolean b = false;
for (T o : list) {
if (b)
sb.append(' ');
sb.append(o);
b = true;
}
return sb.toString();
}
或者,如果您使用 Guava,您可以使用Joiner
:
Joiner.on(' ').join(list)
同样,如果您只是对打印感兴趣,则可以避免一起创建新字符串:
public static <T> void printList(List<T> list) {
for (T o : list) {
System.out.print(o);
System.out.print(' ');
}
System.out.println();
}
如果您使用的是Eclipse Collections,则可以使用该makeString()
方法。
ArrayList<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three");
Assert.assertEquals(
"one two three",
ArrayListAdapter.adapt(list).makeString(" "));
如果您可以将您的转换ArrayList
为 a FastList
,则可以摆脱适配器。
Assert.assertEquals(
"one two three",
FastList.newListWith("one", "two", "three").makeString(" "));
注意:我是 Eclipse 集合的提交者。
for c#
string.Join(" ", _list);
不确定您使用的是什么语言,但请尝试:
ArrayList.join()
或者
ArrayList.toArray().join()
for(int i = 0; i < arraylist.size(); i++){
System.out.print(arraylist.get(i).toString + " ");
}
???