我想从我从FileChooser获得的不可修改列表中删除元素。但是为了这样做,它抛出了一个UnsupportedOperationException。任何人都可以建议我以任何方式删除/删除列表中的内容?有没有办法修改一个不可修改的集合?
回答
查看FXCollections静态类。一些有用的方法是:
因为你不能修改该列表(这是显而易见的名字),你可以获取列表的副本并修改如你所愿
注意这些方法创建'ObservableList's,它可能比需要的多(例如,'FileChooser.showOpenMultipleDialog()'返回一个普通的'List')。如果你只需要一个常规的'List',你应该使用'java.util' API,而不是'javafx.collections' API。 –
@james_D你说得对,我正在使用showOpenMultipleDialog(),它返回java.util.List
我找到了一个解决方案。虽然这可能不是正确的方式,但它有效。我所做的是;我使用增强for循环将不可修改列表的内容复制到ArrayList中。然后在ArrayList上应用remove方法。但是,如果你有一个更好的解决方案,请发布。
为什么不直接使用[构造函数](http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html#ArrayList-java.util.Collection-)来进行复制您? –
@James_D感谢这个解决方案。我用这个代替了我的代码,它运行良好 –
- 1. 收集修改例外集合时没有被修改
- 2. 有没有办法修改FILTER_SANITIZE_STRING
- 3. 有没有办法修改pydevd_file_utils.PATHS_FROM_ECLIPSE_TO_PYTHON值而不必修改该文件?
- 4. 有没有办法修改TreeView节点符合条件
- 5. 集合在循环中被修改时没有办法它可以C#
- 6. 从不可修改的集创建不可修改的集
- 7. 有没有办法在Python中的类方法中修改类?
- 8. 可修改集合集合WSAPI
- 9. 有没有办法使SVG USE随后可修改(或不同的技术)?
- 10. 修改PHP集合
- 11. 修改子集合
- 12. JENKINS - 有没有办法只能更新修改的文件?
- 13. 有没有办法在Delphi中修改FD_SETSIZE(WinSock)的值?
- 14. 有没有办法修改Ajax调用请求的数据?
- 15. 有没有办法修改textAngular中粘贴的内容?
- 16. 有没有办法用未修改的libpng解析APNG?
- 17. 有没有办法修改重定向页面的外观?
- 18. 有没有办法修改C#中的进程DACL
- 19. 有没有办法修改ckeditor的上传功能?
- 20. 有没有办法修改UITableView的分隔符单元?
- 21. 有没有办法修改Chrome开发工具的devTools.css
- 22. 有没有办法在html中修改css div的属性
- 23. 有没有办法修改Django FileField使用的存储后端?
- 24. 有没有办法修改IntelliJ的“选择”对话框?
- 25. 有没有办法禁用或修改Xcode的代码完成?
- 26. 有没有“修改”字段?
- 27. 可变的斯卡拉集合的不可修改的看法
- 28. 施放一个不可修改的集合
- 29. 如何创建一个深度不可修改的集合?
- 30. 有没有办法在MySQL中定购之前修改列?
“不可修改”表示您无法修改它。你真的需要做什么?你不能只用你需要的元素创建一个新的列表吗? –
最简单的方法是从原始的列表中创建一个新列表。你想达到什么目的?这可能是[XY问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 – Itai
我正在尝试创建用于浏览和编辑图像的应用程序。为此,我使用方法showOpenMultipleDialog()。当我尝试从此方法返回的列表中删除任何文件时。文件被删除,但从文件列表中删除该文件的操作会引发异常。 –