解析java.util.ArrayList$SubList notSerializable异常

resolve a java.util.ArrayList$SubList notSerializable Exception(解析java.util.ArrayList$SubList notSerializable异常)

本文介绍了解析java.util.ArrayList$SubList notSerializable异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在List类型的对象上使用SubList函数。问题是我使用的是RMI,并且因为java.util.ArrayList$SubList是由一个不可序列化的类实现的,所以当我尝试将结果对象传递给一个以列表为参数的远程函数时,我得到了上面描述的异常。 我已经看到,我应该将结果列表复制到新的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.util.ArrayList$SubList notSerializable异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:解析java.util.ArrayList$SubList notSerializable异常

基础教程推荐