在Java中java.io.Serializable 用于实现对象的序列化而开发的接口。
java.io.Serializable接口是一个没有任何方法和属性的接口只提供一个标示的作用。
所有要序列化的对象都要实现Serializable接口。
未实现序列化接口的对象进行序列化的时候发生的错误。
Java代码 收藏代码
java.io.NotSerializableException: com.javaeye.xiaobian.seri.User
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at com.javaeye.xiaobian.seri.SerialzeTest.main(SerialzeTest.java:19)
序列化:
Java代码 收藏代码
File test = new File("e:\\test.seri");
FileOutputStream out = new FileOutputStream(test);
ObjectOutputStream oout = new ObjectOutputStream(out);
User user = new User();
user.setName("example1");
oout.writeObject(user);
FileInputStream in = new FileInputStream(test);
ObjectInputStream oin = new ObjectInputStream(in);
User u = (User) oin.readObject();
System.out.println(u.getName());
System.out.println(u.getPass());
User类:
Java代码 收藏代码
public class User implements Serializable {
private static final long serialVersionUID = -7020619477594468968L;
private String name;
private String pass;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
}
serialVersionUID的作用:
1.先保存一个序列化的对象User。
2.更改对象的属性添加Pass属性。
3.反序列化User对象这个时候获取的Pass属性为null。
4.如果没有serialVersionUID属性则会抛出异常。
原文出自:http://jimi68.iteye.com/blog/405710
分享到:
相关推荐
Java对象Serializable接口实现详解 Java中的Serializable接口是java.io包中定义的,用于实现Java类的序列化操作而提供的一个语义级别的接口。Serializable序列化接口没有任何方法或者字段,只是用于标识可序列化的...
Java 中的 Serializable 接口作用详解 Java 中的 Serializable 接口是一个非常重要的接口,它允许对象被序列化,换句话说,就是将对象转换成字节序列,以便于存储或通过网络传输。Serializable 接口的作用主要体现...
android Activity之间数据传递 Parcelable和Serializable接口的使用的具体实例代码,详情请看>http://blog.csdn.net/js931178805/article/details/8268144
Serializable接口的作用 在 Java 中,Serializable 接口扮演着非常重要的角色,它允许对象被序列化和反序列化,实现对象的持久化存储和网络传输。本文将详细介绍 Serializable 接口的作用和实现原理,以及它在 Java...
本教程将详细讲解如何通过Serializable接口来实现Intent对象的传递。 首先,了解Serializable接口。在Java中,Serializable是用于序列化和反序列化的接口。当一个类实现了这个接口,它的实例就可以被转化为一串字节...
在Android开发中,Serializable接口是实现对象序列化的重要方式,它是Java平台标准的一部分,但在Android环境中也有广泛的应用。本文将深入探讨Android中的Serializable序列化机制,包括其原理、使用场景以及注意...
3. 对于Serializable,`putSerializable()`和`getSerializable()`可以处理任何实现了Serializable接口的对象,包括ArrayList或其他集合类。 4. 不同的数据类型必须使用对应的方法进行传递,不能混淆使用。 5. 传递后...
面试官:“说一下Serializable接口和Parcelable接口的区别吧。” 我们可以从以下两方面来说一说~ 首先我们先给两者来个简单的介绍: 1.定义 Serializable(Java自带): Serializable是序列化的意思,表示将一个对象...
1. **实现Serializable接口**:首先,你需要让你的对象类实现Serializable接口,例如: ```java public class MyObject implements Serializable { // 类的属性 } ``` 2. **放入Intent**:然后,你可以将这个对象...
只需让类实现Serializable接口,系统就会自动处理序列化和反序列化。使用`writeObject()`和`readObject()`方法可以自定义序列化的行为。 优点: - 实现简单,只需要在类上添加`implements Serializable`即可。 - ...
在Java编程语言中,`Serializable`接口是一个非常重要的概念,它是实现对象持久化的关键。本文将深入探讨`Serializable`接口的细节,以及与其相关的高级知识。 `Serializable`接口是Java中的一个标记接口,没有包含...
要序列化的对象应该实现Serializable接口。 Serializable接口是一个标识接口,没有抽象方法。 Serializable有一个子接口Externalizable,实现Externalizable接口的类可以自行控制对象序列化荷反序列化过程。 ...
一种是实现Serializable接口 另一种是实现Externalizable接口 区别: 实现Serializable接口 1 系统自动储存必要的信息 2 Java内建支持,易于实现,只需实现该接口即可,无须任何代码支持 3 性能略差 实现...
Serializable接口包含两个抽象方法:serialize() 和 unserialize()。实现Serializable接口的类必须实现这两个方法,分别用于自定义对象的序列化和反序列化过程。具体来说,当对象需要被序列化时,PHP会自动调用对象...
实现Serializable接口的类会被自动处理,无需编写额外的序列化代码,但效率相对较低。 1. 在需要序列化的类上添加`implements Serializable`:这样,Java会自动生成序列化所需的元数据,如serialVersionUID。 2. ...
1. **Serializable接口** `Serializable`是Java提供的标准序列化接口,无需实现任何方法,只需在类上添加`implements Serializable`即可。对象序列化后可以写入文件或网络流。然而,`Serializable`效率较低,因为它...
**一、Serializable接口** `Serializable`是Java中的一个标记接口,没有包含任何方法。当一个类实现这个接口时,表明该类的对象可以被序列化。Java的序列化机制会遍历对象的所有字段,并将它们的值写入字节流。需要...
Serializable 接口是一个标记接口,表明该类可以被序列化。实现了 Serializable 接口的类需要提供一个称为 serialVersionUID 的静态final变量,该变量用于标识类的版本。 serialVersionUID serialVersionUID 是一...
当我们需要在Intent中传递自定义对象时,Android提供了几种方式来实现这一功能,其中一种常用的方法是将自定义对象转换为Serializable接口的实现。以下我们将详细探讨如何通过Intent传递自定义对象以及涉及到的相关...