如何完成transient反序列化呢?
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class Retread {
public static void main(String[] args) {
SpecialSerial s=new SpecialSerial();
try{
ObjectOutputStream os=new ObjectOutputStream(new FileOutputStream("myFile"));
os.writeObject(s); os.close();
System.out.println( ++s.z+" ");
ObjectInputStream is=new ObjectInputStream(new FileInputStream("myFile"));
SpecialSerial s2=(SpecialSerial) is.readObject();
System.out.println(s2.y+" "+s2.z);
}catch (Exception e) {
// TODO: handle exception
}
}
}
class SpecialSerial implements Serializable{
transient int y=7;
static int z=9;
}
要求输出时10 7 10
关键是如何输出7
在类SpecialSerial中如何重写readObject()方法来实现?
谢谢
-------------------------------------------
-------------------------------------------
-------------------------------------------
-------------------------------------------
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class Retread {
public static void main(String[] args) {
SpecialSerial s=new SpecialSerial();
try{
ObjectOutputStream os=new ObjectOutputStream(new FileOutputStream("myFile"));
os.writeObject(s); os.close();
System.out.println( ++s.z+" ");
ObjectInputStream is=new ObjectInputStream(new FileInputStream("myFile"));
SpecialSerial s2=(SpecialSerial) is.readObject();
System.out.println(s2.y+" "+s2.z);
}catch (Exception e) {
// TODO: handle exception
}
}
}
class SpecialSerial implements Serializable{
transient int y=7;
static int z=9;
}
要求输出时10 7 10
关键是如何输出7
在类SpecialSerial中如何重写readObject()方法来实现?
谢谢
-------------------------------------------
-------------------------------------------
-------------------------------------------
-------------------------------------------
...全文
相关推荐
java关键字transient
java关键字transient
transient修饰符的使用
以前没有接触过这个小玩意,看到一个开源项目里有,就仔细研究了一下,transient修饰符的使用
Java关键字—-transient
写一段代码理清序列化、反序列化的流程。本篇文章序列化、反序列化用的类是同一个类,可以通过注释main中1然后修改Stu类实现有无transient关键字修饰、serialVersionUID是否不同,得到以下结果: 1、serialVersionUID的数值大小不会影响序列化后的字节数大小 2、transient的有无,会影响序列化后的字节数大小,有transient修饰成员变量,字节数会变小,反之变大 3、若某成员变量没有被transient修饰,则该成员变量不能被反序列化,打印结果为null import java.io.*; public class SerializableDemo {
Java transient关键字原理解析
主要介绍了Java transient关键字原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Java transient 关键字详解及实例代码
本文章向大家介绍Java transient关键字的使用方法和实例,包括的知识点有transient的作用、transient使用小结、transient使用细节,需要的朋友可以参考一下


Java SE
