【问题标题】:How to convert 2D ArrayList to String?如何将 2D ArrayList 转换为字符串?
【发布时间】:2016-09-12 19:17:55
【问题描述】:

我正在尝试将 2D ArrayList 的值转换为字符串,以便我可以将它们打印到 JTextArea 上。但是,每次我运行我的程序时,2D ArrayList 仍然在方括号中。有谁知道解决这个问题的方法吗?

private void listButtonActionPerformed(java.awt.event.ActionEvent evt) {

    for (int row = 0; row <= count; row++) {

        employeeDisplay.setText(String.valueOf(employeeRecords.get(row)));

    }
}

【问题讨论】:

  • 当你说 2D ArrayList,你有 ArrayList> 吗? employeeRecords.get(row) 返回什么?
  • @Makketronix 是的,我有那个设置,employeeRecords.get(row) 应该将 2D ArrayList 的每一行打印到 JTextArea 中

标签: java swing arraylist multidimensional-array netbeans-6.9


【解决方案1】:

在你的 for 循环中试试这个:

StringBuilder builder = new StringBuilder();
for (String value : employeeRecords.get(row)) {
    builder.append(value);
}
String text = builder.toString();
employeeDisplay.setText(text);

String formatedString = employeeRecords.get(row).toString()
    .replace(",", "")  //remove the commas
    .replace("[", "")  //remove the right bracket
    .replace("]", "")  //remove the left bracket
    .trim();  
employeeDisplay.setText(formatedString);

【讨论】:

  • 第一个对我有用,但是在打印二维数组的每一行后,有什么办法可以换行吗?截至目前,它只是在一行上打印所有元素。
  • 添加builder.append("\n");在 builder.append(value) 之后;希望能帮助到你。另外,请您接受答案或投票。它可以帮助其他人知道已找到答案
【解决方案2】:

如果你使用,你可以使用Collectors#joining

employeeDisplay.setText(employeeRecords.get(row)
                                       .stream()
                                       .collect(Collectors.joining(" "));

【讨论】:

    猜你喜欢
    • 2015-09-01
    • 2012-06-01
    • 2013-08-14
    • 2011-11-12
    • 1970-01-01
    • 2019-09-04
    • 2014-03-06
    • 2012-01-20
    • 2012-04-28
    相关资源
    最近更新 更多