如何将 ObservableList 转换为 ObservableSet

How can I cast an ObservableList to an ObservableSet

我正在将一个应用程序从 Java 1.7 迁移到 Java 11,它使用 JavaFX

在迁移过程中,我遇到了一个转换问题,我有一个 ObservableList,我需要一个 ObservableSet

我尝试用 (ObservableSet<MyObject>) MyObservableList<MyObject> 投射,但我有 :

ERROR; UNCOUGHT Exception java.lang.ClassCastException: class com.sun.javafx.collections.ObservableListWrapper cannot be cast to class javafx.collections.ObservableSet (com.sun.javafx.collections.ObservableListWrapper and javafx.collections.ObservableSet are in module javafx.base of loader 'app') java.lang.ClassCastException: class com.sun.javafx.collections.ObservableListWrapper cannot be cast to class javafx.collections.ObservableSet (com.sun.javafx.collections.ObservableListWrapper and javafx.collections.ObservableSet are in module javafx.base of loader 'app')

你有办法正确地 cast/transform 这个对象吗? 谢谢您的回答!

不能投,内部表示不同。您可以初始化一个新的 ObservableSet 对象和 addAll 您的列表,它接受任何类型的集合。