java序列化及反序列化

java序列化

(一)java序列化的官方概念:

将对象转换为一串二进制字节数组,可以保存到磁盘或传输网络,磁盘或网络接收者在对象的属类的模板来反序列化类的对象,达到对象持久化的目的。

(二)序列化的步骤

1、实现java序列化的接口(java.io.Serializable)

package com.rocket.framework.practice.serialize;

import java.io.Serializable;

public class User implements Serializable{
	
	private static final long serialVersionUID = -5194422322973857041L;

	private String userName;
	
	private String address;

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}
	
	@Override
	public String toString() {
		return "User{username='" + userName + "', address='" + address + "'}";
	}

}

2、借助commons-lang3工具包进行序列化及反序列化

public static void seriTest() {
		
		User user = new User();
		
		user.setUserName("java");
		user.setAddress("China");
		System.out.println(user.toString());
		
		byte[] bytes = SerializationUtils.serialize(user);
		User u = SerializationUtils.deserialize(bytes);
		
		System.out.println(u);
	}

输出:

User{username='java', address='China'}
User{username='java', address='China'}

3、如果某个字段不想进行序列化,在该字段前加上transient

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值