resolve a java.util.ArrayList$SubList notSerializable Exception(解析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异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!