我只想知道为什么java.util.Collections.checkedList()
实际使用。
我有一些代码,我知道它会返回一个 List<String>
但它正在通过一系列消息传递调用并作为 java.io.Serializable
返回给我.那个 checkedList 调用对我有用吗 Serializable
进入 List<String>
?我知道我可以将它转换为 java.util.List
,但我宁愿不必检查每个元素,而且我不愿意假设每个元素都是 String
.
最佳答案
它在一定程度上用作调试工具,用于查找代码在何处插入了错误类型的类,以防您看到这种情况发生但无法确定位置。
您可以将它用作提供集合的公共(public) API 的一部分,并且您希望确保该集合中不会包含任何错误类型的内容(例如,如果客户端删除泛型)。
您可以在您的案例中使用它的方式是:
Collections.checkedList(
new ArrayList<String>(uncertainList.size()), String.class)
.addAll(uncertainList);
如果没有抛出异常,那么你就知道你很好。这并不是一段性能优化的代码,但如果列表内容相当小,应该没问题。
关于java - Java 中的 Collections.checkedList() 调用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1161176/