Oth*_*ane 22 java serialization rmi arraylist
我在List类型的对象上使用SubList函数.问题是我正在使用RMI,因为java.util.ArrayList $ SubList是由一个非可序列化的类实现的,当我尝试将结果对象作为参数传递给远程函数时,我得到了上面描述的异常同样.我已经看到我应该将生成的List复制到新的LinkedList或ArrayList并传递它.
有没有人知道一个功能,有助于为此轻松做到这一点?
List<String> list = originalList.subList(0, 10);
Run Code Online (Sandbox Code Playgroud)
ara*_*daM 38
这是因为,subList()方法返回的List是'RandomAccessSubList'的一个不可序列化的实例.因此,您需要从subList()返回的列表中创建一个新的ArrayList对象.
ArrayList<String> list = new ArrayList<String>(originalList.subList(0, 10));
Run Code Online (Sandbox Code Playgroud)
解决方案就是这个代码:
ArrayList<String> list = new ArrayList<String>();
list.addAll(originalList.subList(0, 10));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9097 次 |
| 最近记录: |