首页 > 其他分享 >集合对象序列化

集合对象序列化

时间:2022-12-08 20:47:24浏览次数:44  
标签:loginName String 对象 public 集合 hobby 序列化 id passWord

package com.itheima.d5_serializable;

import java.io.Serializable;

### // 类的对象如果要序列化,必须实现Serializable接口。
public class User implements Serializable {
    private int id;
    private String loginName;
    private String passWord;
    private String hobby;

    public User(){
    }

    public User(int id, String loginName, String passWord, String hobby) {
        this.id = id;
        this.loginName = loginName;
        this.passWord = passWord;
        this.hobby = hobby;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    public String getPassWord() {
        return passWord;
    }

    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }

    public String getHobby() {
        return hobby;
    }

    public void setHobby(String hobby) {
        this.hobby = hobby;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", loginName='" + loginName + '\'' +
                ", passWord='" + passWord + '\'' +
                ", hobby='" + hobby + '\'' +
                '}';
    }
}

package com.itheima.d5_serializable;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class Test {
    public static void main(String[] args) throws Exception {
        // 目标:序列化多个对象,反序列化多个对象。
        List users = new ArrayList<>();
        users.add(new User(1, "唐僧0", "baigujing", "赶走孙悟空"));
        users.add(new User(2, "唐僧1", "baigujing1", "赶走孙悟空1"));
        users.add(new User(3, "唐僧2", "baigujing2", "赶走孙悟空2"));
        users.add(new User(4, "唐僧3", "baigujing3", "赶走孙悟空3"));
        // 直接序列化集合对象。
        ObjectOutputStream oos =
                new ObjectOutputStream(new FileOutputStream("day11-special-file-log/src/data.txt"));
        oos.writeObject(users);
        oos.close();

        // 反序列化
        getUsers();
    }

    public static void getUsers() throws Exception {
        ObjectInputStream ois =
                new ObjectInputStream(new FileInputStream("day11-special-file-log/src/data.txt"));
        List users = (List) ois.readObject();
        for (User u : users) {
            System.out.println(u);
        }
        ois.close();
    }
}

标签:loginName,String,对象,public,集合,hobby,序列化,id,passWord
From: https://www.cnblogs.com/sisiyibailiu/p/16967236.html

相关文章

  • python集合常用操作汇总
    1.集合类型{}集合是一种无序不可重复的序列;集合常用于对两个列表的交并差处理;集合没有任何获取元素的方法,只用作处理列表或元组的临时数据类型,不适合数据的......
  • toString转化成Json或实体对象
    废话不多说,代码上一波!!! 实体中生成的toSting转json格式或者转实体类格式packagecom.xxx.util;importcom.alibaba.fastjson.JSON;importjavafx.util.Pair;importo......
  • 将对象中的数据的键名开头按照词典排序
    functionobjKeySort(arys){//arrs=>对象//先用Object内置类的keys方法获取要排序对象的属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个......
  • Console对象的实例方法
    1、console.table将数据以表格的形式显示。这个方法需要一个必须参数data,data必须是一个数组或者是一个对象;还可以使用一个可选参数columns。//Outputanarrayo......
  • 通过迭代器对list集合中的元素进行增删改操作
    packagecom.liftsail.qiniurefererdemo.test;importjava.util.ArrayList;importjava.util.List;importjava.util.ListIterator;/***@Author:liftsail*@Da......
  • Django 利用 django-guardian 实现对象级别权限控制以及展示
    安装#pipinstalldjango-guardian配置settings.py中注册django-guardianINSTALLED_APPS=(#...'guardian',)settings.py中添加配置用于django-gu......
  • python面向对象(类的成员及类方法)
    类的普通成员字段方法属性类的高级成员静态字段静态方法属性方法 类方法类成员修饰符类的成员类的成员可以分为三大类:字段、方法和属性注:所有成员中,只有普通字段的内容保存......
  • Google Guava提供的特殊的Table集合
    1、Table是个啥?是一个特殊的映射,其中两个键可以在组合的方式被指定为单个值。它类似于创建映射的映射。当你想使用多个键做索引的时候,你可能会用类似Map<rowKey,Map<c......
  • 五、获取自定义复杂对象
     JavaScript获取复杂的数据一般使用拼接字符串或使用xml,但是在asp.net中,我们可以使用GenerateScriptType(typeof(自定义类))属性来返回较复杂的对象,并在客户端使用属性来直......
  • 十三、NHibernate之对象状态
     引入​在程序运行过程中使用对象的方式对数据库进行操作,这必然会产生一系列的持久化类的实例对象。这些对象可能是刚刚创建并准备存储的,也可能是从数据库中查询的,为了区分......