Java中有一个接口是java.io.Serializable,实现这个接口,不用实现任何方法,这个接口就是一个标识作用,jvm在做某些操作的时候,会去检查目标类有没有实现java.io.Serializable接口,没有实现的话,根据情况抛出异常。
这里我们需要明确的是那些操作会去检查是否实现java.io.Serializable接口,一般而言,在将对象转换成流时,会去检查。比如转换成流进行网络传输,转换成流持久化到磁盘。
实际应用时,比如我们服务对外提供的接口时,返回的DTO对象需要实现java.io.Serializable接口吗?答案是一般不需要。我们返回给前端的数据,通常是JSON和XML,但是实际上这是一个String,String是实现了java.io.Serializable的,所以我们的DTO是不需要实现java.io.Serializable接口的。



