当前位置: 代码迷 >> java >> Java-通过将元素添加到列表中而出错
  详细解决方案

Java-通过将元素添加到列表中而出错

热度:90   发布时间:2023-07-26 14:27:21.0

我将元素添加到ObservableList<List<String>>时,出现UnsupportedOperationException

代码(这里我试图在动态表格视图中添加列)

private ObservableList<List<String>> fnlData; 
.
.
fnlData = FXCollections.observableList(jdata);
.
.
public void addColumn(){
        for (int i = 0; i < fnlData.size(); i++){
            if (fnlData.get(i)!=null && fnlData.get(i).size() > indexC) {
                fnlData.get(i).add(indexC, "");  // <- here occurs the error 
            }
        }
        finalTable.getSelectionModel().clearSelection();
        finalTable.getItems().clear();
        finalTable.getColumns().clear();
        createColumns(clms++);
        finalTable.getItems().addAll(fnlData);
    }

集合的实现可以随意执行任意数量的操作,如果未实现,则抛出UnsupportedOperationException 我建议您检查所使用的特定集合的文档。

好,我解决了...

我改变了这个:

private List<List<String>> jdata = new LinkedList<>();
String[] splitted;
.
.
splitted=(lines.split(";"));
jdata.add(Arrays.asList(splitted));

到这个:

private List<List<String>> jdata = new LinkedList<>();
String[] splitted;
.
.
splitted=(lines.split(";"));
LinkedList ll = new LinkedList(Arrays.asList(splitted));
jdata.add(ll);

因为jdata的内部列表( List<String> )是ArrayList,但是我需要一个LinkedList ...

感谢ljgw

  相关解决方案