java.io.NotSerializableException: java.util.ArrayList$SubList
来源:互联网 发布:小众app 知乎 编辑:程序博客网 时间:2024/06/05 21:06
今天和同事联调一个接口,抛未序列化异常。异常直接指向List类,我的第一反应是List的泛型类没有实现Serializable。
Caused by: java.io.NotSerializableException: java.util.ArrayList$SubList at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) at com.taobao.hsf.remoting.serialize.JavaEncoder.encode(JavaEncoder.java:17) at com.taobao.hsf.remoting.util.RemotingUtil.convert2RpcRequest(RemotingUtil.java:192) at com.taobao.hsf.remoting.EnumRemotingType$1.convertRequest(EnumRemotingType.java:24) at com.taobao.hsf.remoting.client.AbstractClient.futureInvoke(AbstractClient.java:58) at com.taobao.hsf.remoting.invoke.component.SyncInvokeComponent.invoke(SyncInvokeComponent.java:53)
检查RPC接口的返回的类和它的字段,都是实现了序列化接口的。查看SubList的继承关系图。原来是SubList没有实现序列化接口。
写段代码测试一下:
@Test public void test() { ArrayList list = new ArrayList(); list.add(1); list.add(1); list.add(1); List subList = list.subList(0, 1); if(subList instanceof java.io.Serializable) { System.out.println(subList.getClass().getName() + " implement serializable"); } else { System.out.println(subList.getClass().getName() + " does not implement serializable"); } }
输出
java.util.ArrayList$SubList does not implement serializable
并不是所有的未序列化异常都是自己写的类没实现 serializable接口导致的,也有可能是自己天天用的jdk。
阅读全文
0 0
- java.io.NotSerializableException: java.util.ArrayList$SubList
- java.io.NotSerializableException: java.util.ArrayList$SubList
- java.io.NotSerializableException: java.util.AbstractList$SubAbstractListRandomAccess
- jenkins pipeline, giving java.io.NotSerializableException: java.util.AbstractList Error
- java.io.NotSerializableException: java.util.HashMap$KeySet有关问题处理
- java.util.List.subList
- java.util.List.subList
- java.util.List.subList
- java.io.NotSerializableException: org.hibernate.util.MarkerObject解决办法
- java.io.NotSerializableException翻译
- java.io.NotSerializableException 解决办法
- java.io.NotSerializableException
- java.io.NotSerializableException
- java.io.NotSerializableException.
- java.io.NotSerializableException
- java.io.NotSerializableException
- java.io.NotSerializableException
- spark<java.io.NotSerializableException>
- wustoj(寻找根节点和孩子)
- 1*2*3*4……*n的值
- 求两个数最大公约数的多种方法
- 2-5·SSH协议与软件
- 后端必须了解的密码学技术
- java.io.NotSerializableException: java.util.ArrayList$SubList
- 快速排序
- Java 并发注意事项
- Java基础(一)
- 调试器GDB
- 【模板】文艺平衡树(Splay)
- Keepalived+Nginx实现高可用(HA)
- Android SDK下载指南
- tornado模板