RMI报错error unmarshalling return;java.io.WriteAbortedException:writing abort

error unmarshalling return; nested exception is: 
    java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.util.ArrayList$SubList 

产生这种报错的原因是RMI只能传输 Serializable 的实现,即可序列化的对象;
如果你使用了Map,List等接口对象,那么必须选择 序列化的对象;
注意List的部分操作会返回特殊的List对象,如:

List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
System.out.println(list.getClass());
list = list.subList(0, 1);
System.out.println(list.getClass());

打印的结果是:

class java.util.ArrayList
class java.util.ArrayList$SubList

猜你喜欢

转载自blog.csdn.net/qq_17348297/article/details/79402300