Java ArrayList对象如何序列化?如何反序列化显示对象的所有属性?

zhongguojiexiaochen zhongguojiexiaochen 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
//==========================================================Person 类 是Teacher和Student 的父类
public class Person {
private String name;
private int age;

public Person(){}//default constructor!!!

public Person(String name,int age){///////////////
this.name=name;
this.age=age;
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}

}



for(int i=0;i<c.getS().size();i++)
System.out.println(c.getS().get(i));

for(int i=0;i<c.getT().size();i++)
System.out.println(c.getT().get(i));

}
}
//============================================================Student类
public class Student extends Person{
private int grade;

public Student(){}

public Student(String name,int age,int grade){
super(name,age);
this.grade=grade;
}

public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}

@Override
public String toString() {
return "Student [grade=" + grade + ",Name=" + getName() + ", Age=" + getAge() + "]";
}
}
//=========================================================Teacher类


public class Teacher extends Person{
private int working_years;

public Teacher(){}

public Teacher(String name,int age,int working_years){////constructor
super(name,age);
this.working_years=working_years;
}

public int getWorking_years() {
return working_years;
}
public void setWorking_years(int working_years) {
this.working_years = working_years;
}

@Override
public String toString() {
return "Teacher [working_years=" + working_years
+ ", Name="
+ getName() + ", Age=" + getAge() +"]";
}
}
//===========================================================classroom 类,实例化了Arraylist
import java.util.ArrayList;

public class Classroom {

public Classroom(){};//constructor;

private ArrayList<Student> s=new ArrayList<Student>();//必须新建!!!!!!!
private ArrayList<Teacher> t=new ArrayList<Teacher>();//ArrayList t = new ArrayList();会出警告,泛型问题


public ArrayList<Teacher> getT() {
return t;
}

public void setT(ArrayList<Teacher> t) {
this.t = t;
}

public ArrayList<Student> getS() {
return s;
}

public void setS(ArrayList<Student> s) {
this.s = s;
}
}
//==================================================place 类,用于测试之前的ArrayList

public class Place {
public static void main(String args[]){

Student s1=new Student("Amy",19,1);
Student s2=new Student("Tom",20,2);

Teacher t1=new Teacher("Tom",45,10);
Teacher t2=new Teacher("Sam",50,15);

Classroom c=new Classroom();

c.getS().add(s1);
c.getS().add(s2);
c.getT().add(t1);
c.getT().add(t2);

for(int i=0;i<c.getS().size();i++)
System.out.println(c.getS().get(i));

for(int i=0;i<c.getT().size();i++)
System.out.println(c.getT().get(i));
}
}

//===============================================
以上代码的意图是classroom中有Student与Teacher,Place类只是用于测试的。
请大神指点在此基础上如和实现ArrayList的序列化与反序列化,在反序列化时输出Student与Teacher的各个属性,恳请大神指教!!小弟感激不尽!

...全文

相关推荐

深入分析Java的序列化与反序列化

序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍Java序列化的相关内容。主要涉及到以下几个问题:   怎么实现Java的序列化   为什么实现了java.io.Serializable接口才能被序列化   transient的作用是什么   怎么自定义序列化策略   自定义的序列化策略是如何被调用的   ArrayList对序列化的实现有什么好处   Java对象的序列化   Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比

weixin_38645335

Kryo序列化及反序列化用法示例

主要介绍了Kryo序列化及反序列化用法示例,小编觉得挺不错的,这里分享给大家,需要的朋友可以参考下。

weixin_38672794

理解Java的序列化与反序列化

主要为大家详细介绍了Java的序列化与反序列化,序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍Java序列化的相关内容,感兴趣的小伙伴们可以参考一下

weixin_38725450

java序列化与反序列化操作实例分析

主要介绍了java序列化与反序列化操作,结合实例形式分析了java序列化与反序列化的概念与具体实现技巧,需要的朋友可以参考下

weixin_38527978

序列化与反序列化详解

序列化与反序列化详解,在.Net中通过序列化和反序列化实现对象实例化,明确分析序列化与反序列化

D_denglerong
评论 6
收藏 已收藏
分享
返回顶部
zhongguojiexiaochen
Eclipse 58,439 成员 49,457 内容