3 回答
TA贡献1836条经验 获得超5个赞
listeMedLag.toString()
根据列表的元素创建一个字符串。这有很多问题。该ObservableList实现可能无法准确创建您期望的字符串输出。通常也有{}包装内容。
此外,对对象方法返回的对象调用方法通常不会对原始对象产生影响。也有例外,但它们都有记录。(示例为List.subList和List.iterator)。String但它是不可变的,并且它与列表没有任何关系。调用split该字符串只会导致String[]创建一个包含该字符串部分的新数组。它对字符串对象没有影响,对列表也没有影响。
如果您的目的是拆分 a 的每个元素List<String>并用所有这些元素填充列表,我建议您创建一个包含所有这些元素的新列表,然后将内容分配给目标列表:
List<String> inputList = ...
ObservableList<String> outputList = FXCollections.observableArrayList();
// fill new list with elements of original list split at "&"
inputList.stream().map(s -> s.split("&")).forEach(outputList::addAll);
// do something with new list
listView.setItems(outputList);
TA贡献1942条经验 获得超3个赞
您可以使用flatMap
将列表转换为具有不同项目数的列表。
list.setAll(list.stream() .flatMap(item -> Arrays.asList(item.split("&")).stream()) .collect(Collectors.toList()));
这会将 的内容设置list
为新项目,因此如果您有听众,他们可能会被多次解雇。
TA贡献1895条经验 获得超3个赞
您需要将分割的字符串存储到局部变量中。喜欢:
String[] split = = listeMedLag.toString().split("&"); lagSomErMed.setItems(split);
或者
lagSomErMed.setItems(listeMedLag.toString().split("&"));
split
方法签名:
public String[] split(String regex)
添加回答
举报