Java:打印LinkedList没有方括号?

Bla*_*ein 7 java collections

这是一个相当简单的问题.当您打印出LinkedList时,如下所示:

System.out.println(list);
Run Code Online (Sandbox Code Playgroud)

它打印出来,围绕方括号中的列表,如下所示:

[thing 1, thing 2, thing 3]
Run Code Online (Sandbox Code Playgroud)

有没有方法可以在没有方括号的情况下将其打印出来?

Boz*_*zho 21

是 - 迭代列表并打印它(在每个之后使用逗号,但是最后一个元素).但是,有一些工具可以帮助:

番石榴:

String result = Joiner.on(", ").join(list);
Run Code Online (Sandbox Code Playgroud)

commons-lang:

String result = StringUtils.join(list, ", ");
Run Code Online (Sandbox Code Playgroud)

并注意一点:不要依赖.toString()任何对象的方法.它不是用于向用户显示对象,也不是用作预定义格式 - 主要用于调试目的.


Sea*_*wen 5

一个快速而肮脏的答案是:

String s = list.toString();
System.out.println(s.substring(1, s.length()-1));
Run Code Online (Sandbox Code Playgroud)

  • 由于您包含了"快速而肮脏"的免责声明,我不会低估您的答案.也就是说,这正是我们应该*阻止其他开发人员做的事情. (2认同)