java - 解决 java.util.ArrayList$SubList notSerializable 异常

标签 java serialization arraylist rmi

我在 List 类型的对象上使用 SubList 函数。问题是我正在使用 RMI,并且因为 java.util.ArrayList$SubList 是由不可序列化的类实现的,所以当我尝试将结果对象传递给以 List 作为参数的远程函数时,我得到了上述异常也是。 我已经看到我应该将生成的 List 复制到新的 LinkedList 或 ArrayList 并传递它。

有没有人知道一个功能可以帮助轻松地做到这一点?

List<String> list = originalList.subList(0, 10);

最佳答案

这是因为 subList() 方法返回的 List 是 'RandomAccessSubList' 的一个实例,它是不可序列化的。因此,您需要从 subList() 返回的列表中创建一个新的 ArrayList 对象。

ArrayList<String> list = new ArrayList<String>(originalList.subList(0, 10));

关于java - 解决 java.util.ArrayList$SubList notSerializable 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26568205/

相关文章:

java - 在谷歌应用程序引擎项目中使用java小程序

.net - 为什么JSON.NET默认的DateTime序列化已更改?

java - Jackson 反序列化 convertValue 与 readValue

JAVA 读取数值数据并存储到数组列表

java - 带条件迭代两个列表

java - 跳棋游戏板 : store object refs or char values?

java - Angular 4 http POST 请求到 java Spring Controller

javascript - 以有效的 .Net 格式在 javascript 中对日期进行字符串化

java - 无法使用递归找到祖先

java - 如何使用 arraylist 填充线性布局?