【发布时间】:2019-12-02 23:30:02
【问题描述】:
我让这个程序将一个由单词组成的文件逐行读取到我的 Arraylist 中,然后我想将这个 ArrayList 也逐行打印到我的控制台上,但是,我只能从该列表中打印 1 个单词(你可以从我下面的代码中理解为什么)。我会很感激各种意见。
*注意1:我已经测试了我的阅读器方法和我的 ArrayList,它们似乎运行良好,我可以看到添加到我的 ArrayList 中的所有元素。
*Note2:我可以用 print-stream 打印出来,但是我不能更改方法签名,因此我必须用这个方法返回 String,我找不到任何方法将整个列表打印到我的控制台.
*编辑:为了澄清我不想打印列表,我希望这个方法将字符串(作为包含所有元素的列表)传递给另一个类的方法,该方法将我从这个方法返回的这个字符串放到文本上我用 GUI 创建的框。因此,我需要这种方法以某种方式“返回 String(arStr)”,但我还想不通。
public static String toStringFromArrayList(ArrayList<String> arStr) {
String result = null;
for (String s : arStr) {
result = s;
}
return result;
}
** 这就是我的意思,如果有人需要类似的解决方案,可以在下面查看 **
public static String toStringFromArrayList (ArrayList<String> arStr) {
String result ="";
for (String s: arStr) {
result += s+"\n";
}
return result;
【问题讨论】:
-
阅读this article 了解调试代码的一些技巧。这将帮助您了解您的代码在做什么。
-
toString()不需要String。 -
要打印整个列表,您可以使用
System.out.println(arStr);。不过,这会将整个列表打印在一行上。 -
你必须定义逻辑,多个字符串的列表如何变成单个字符串。
return arStr.toString();是正确的吗?或者更确切地说return String.join("\n", arStr);?我们不知道你想要什么。
标签: java arraylist collections