gpt4 book ai didi

java - 在 Java 中将多行字符串强制转换为 List

转载 作者:行者123 更新时间:2023-12-01 16:48:37 24 4
gpt4 key购买 nike

我的应用程序中某些模型类的输出之一是以下格式的多行字符串:

System.out.println(str); //output:

row1
row2
row3
row4

根据输出,字符串中可能有很多值/行,因此 str字符串仅用于示例目的。我希望将此字符串强制转换为 List<String>如果可能的话,打印输出将显示为:

List<String> listStr = new ArrayList<String>();
System.out.println(listStr); //output:

[row1, row2, row3, row4]

我尝试了很多不同的方法,例如:

for (Model modelRow : modelTableView.getItems()) {
str = modelRow.getInfo();
System.out.println(str);
listStr = new ArrayList<String>(Arrays.asList(str.split("\n")));
}

在大多数情况下,仅返回最后一个值,或者我得到所有值的单个数组,例如:

[row1]
[row2]
[row3]
[row4]

那么,我如何才能将所有值仅包含在一个列表中 [row1, row2, row3, row4] ?我缺少什么?任何帮助或指示将不胜感激。

编辑

我避免使用带有 str.split() 的分隔符方法,我查询了 firstColumn 中的单元格modelTableView内直接使用以下内容:

for (int i=0; i < modelTableView.getItems().size(); i++) {
str = firstColumn.getCellData(i);
System.out.println(str);
listStr = Arrays.asList(str);
}

代码不返回NullPointerException不再允许继续,但是 listStr 的输出只是原始 str 的最后一个元素字符串:

System.out.println(listStr);
//output:
[row4]

我应该更改循环内的迭代器吗?还有其他想法可能会出错吗?

最佳答案

尝试这样的事情:

List<String> listStr = new ArrayList();
for (Model modelRow : modelTableView.getItems()) {
str = modelRow.getInfo();
System.out.println(str);
listStr.addAll(Arrays.asList(str.split("\n")));
}

编辑

如果您只想以 List 的方式打印数组,您可以使用:

Arrays.toString( array )

关于java - 在 Java 中将多行字符串强制转换为 List<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45101716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com