在Java中,我试图将ArrayList(称为filesToReport)中的字符串连接成单个字符串,因为我想在对话框中的单个错误消息中显示所有文件名(如果它们不符合某些条件)在文件打开器中。我现在使用的解决方案是 StringBuilder,原则上它是有效的。然而,问题是,如果我例如。打开三个不符合条件的文件,我首先得到一个列出文件号的框。 1,然后出现一个列出文件号的框。 1 和 2,最后是一个列出文件号的框。 1、2、3。最后一个盒子是我想要的单个盒子。有没有办法实现这个目标?
到目前为止我的解决方案如下:
if(filesToReport.size() > 0) {
StringBuilder sb = new StringBuilder();
for(String fileToReport : filesToReport) {
sb.append(fileToReport).append(",");
}
String incompatibleFiles = sb.toString();
String errorMessage = "The following files were not loaded \n" +
"as the are incompatible: \n" +
incompatibleFiles;
JOptionPane.showMessageDialog(frame, errorMessage);
}
最佳答案
我看不到此代码片段中的问题,但我的猜测是您将错误消息附加到同一个 filesToReport
列表中。因此它将包含之前的错误消息。
关于java - 使用 StringBuilder 将字符串的 ArrayList 连接成单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21161001/