本文介紹了解析java.util.ArrayList$SubList notSerializable異常的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我在List類型的對象上使用SubList函數(shù)。問題是我使用的是RMI,并且因為java.util.ArrayList$SubList是由一個不可序列化的類實現(xiàn)的,所以當(dāng)我嘗試將結(jié)果對象傳遞給一個以列表為參數(shù)的遠(yuǎn)程函數(shù)時,我得到了上面描述的異常。
我已經(jīng)看到,我應(yīng)該將結(jié)果列表復(fù)制到新的LinkedList或ArrayList并傳遞它。
例如,有沒有人知道可以幫助輕松完成此操作的函數(shù)?
List<String> list = originalList.subList(0, 10);
推薦答案
這是因為,subList()方法返回的List是不可序列化的‘RandomAccessSubList’的實例。因此,您需要根據(jù)subList()返回的列表創(chuàng)建一個新的ArrayList對象。
ArrayList<String> list = new ArrayList<String>(originalList.subList(0, 10));
這篇關(guān)于解析java.util.ArrayList$SubList notSerializable異常的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,