正确格式化arraylist数据的输出?

时间:2014-02-04 22:47:35

标签: java arrays

我在switch语句中有一个方法来解释打印我的arraylist (即 - System.out.println(drinkList);)

           ArrayList<String> drinkList = new ArrayList<String>();
           System.out.print("Please enter a drink information to add:\n");
           inputInfo = scan.nextLine().trim();
           drinkLink = DrinkParser.parseStringToDrink(inputInfo);
           drinkList.add(drinkLink.toString()); //Take in user data to parse into parts

然后我用代码调用它                的System.out.println(drinkList);

我的问题是输出打印如下:

[

Data Entry 1

,

Data Entry 2

]

我想删除括号和逗号。

2 个答案:

答案 0 :(得分:1)

不要在ArrayList上调用toString()方法,而是遍历它并自己构建一个字符串。做类似的事情:

StringBuilder builder = new StringBuilder();
for (String value : drinkList) {
    builder.append(value) + ",";
}
String text = builder.toString();
System.out.println(text);

这将确保生成的字符串具有您想要的格式 - 在本例中为逗号分隔的条目。

答案 1 :(得分:0)

使用以下代码删除括号和逗号:

String s = "[\nData Entry 1\n,\n Data Entry 2\n]";
String result = s.replaceAll("[^\\dA-Za-z\n]", "");
System.out.println(result);

结果是:

Data Entry 1

Data Entry 2

或者,您可以覆盖您的类的toString()方法。