FXCollections.reverse抛出UnsupportedOperationException异常
问题描述:
我使用FXCollections.observableArrayList()
创建ObservableList使用FXCollections.reverse
,并且该方法将引发UnsupportedOperationException异常。我甚至试图将使用FXCollections.observableList(list)
创建的列表颠倒,使用不同类型的列表,但反向方法一直抛出异常。FXCollections.reverse抛出UnsupportedOperationException异常
我错过了什么?
P.S.我在Linux上使用JavaFX。
答
认为我发现了问题。我试图从ListChangeListener的回调中为同一个列表调用FXCollections.reverse()。我是这样的:
公共类ACLASS {
private static ObservableList<Double> list;
public static void main(String[] args) throws Exception {
list = FXCollections.observableArrayList();
list.addListener((ListChangeListener.Change<? extends Point> change) -> {
while (change.next()) {
if (change.wasRemoved() || change.wasAdded()) {
doSomethingFunction();
}
}
});
}
private static void doSomethingFunction() {
FXCollections.reverse(list);
}
}
你能发布一些代码?这对我来说很好。 – 2014-12-07 21:54:41
我只是在做 '... ObservableList list = FXCollections.observableArrayList(); FXCollections.reverse(list); ...' 我实际上已经通过JavaFX代码,似乎(至少我在Linux上的版本),FXCollections.reverse是打破,因为它用来创建任何列表的列表包装,没有实现了setAll()方法。 –
2014-12-07 22:00:40
双重检查。代码在那里(我的错误)。仍然不知道它可能是什么 – 2014-12-07 22:10:51