java对象序列化

场景:将对象序列化为字节数组,再将字节数组反系列化为对象
1.示例

public class OperateDataSerializeUtils {

	public static byte[] serializeObject(Object value) {
		byte[] result = new byte[0];
		if (value == null)
			return result;
		try {
			if (value != null) {
				return SerializationUtils.serialize((Serializable) value);
			}
		} catch (Exception e) {

		}
		return new byte[0];
	}

	public static Object deserializedObject(byte[] bytes) {
		if (bytes == null) {
			return bytes;
		}
		Object result = null;
		try {
			if ((bytes != null) && (bytes.length > 0)) {
				result = SerializationUtils.deserialize(bytes);
				return result;
			}
		} catch (Exception e) {

		}
		return result;
	}
}

2.实体类

public class CityModel implements Serializable {

	private static final long serialVersionUID = 4443714978780088961L;
	
	/** 城市名称 */
	String cityName;
	/**城市面积*/
	double landArea;
	/**人口*/
	long population;
	/**生产总值*/
	double gross ;
	/** 行政区划代码 */
	String areaNumber;
	/** 邮政编码 */
	String postalCode;
	/** 电话区号 */
	String telephoneCode;
	/**车牌代码*/
	String carCode;
	/** 城市描述 */
	String cityDescribe;
	
	public String getCityName() {
		return cityName;
	}
	public void setCityName(String cityName) {
		this.cityName = cityName;
	}
	public double getLandArea() {
		return landArea;
	}
	public void setLandArea(double landArea) {
		this.landArea = landArea;
	}
	public long getPopulation() {
		return population;
	}
	public void setPopulation(long population) {
		this.population = population;
	}
	public double getGross() {
		return gross;
	}
	public void setGross(double gross) {
		this.gross = gross;
	}
	public String getAreaNumber() {
		return areaNumber;
	}
	public void setAreaNumber(String areaNumber) {
		this.areaNumber = areaNumber;
	}
	public String getPostalCode() {
		return postalCode;
	}
	public void setPostalCode(String postalCode) {
		this.postalCode = postalCode;
	}
	public String getTelephoneCode() {
		return telephoneCode;
	}
	public void setTelephoneCode(String telephoneCode) {
		this.telephoneCode = telephoneCode;
	}
	public String getCarCode() {
		return carCode;
	}
	public void setCarCode(String carCode) {
		this.carCode = carCode;
	}
	 
	public String getCityDescribe() {
		return cityDescribe;
	}
	public void setCityDescribe(String cityDescribe) {
		this.cityDescribe = cityDescribe;
	}
	@Override
	public String toString() {
		
		return "CityModel [cityName=" + cityName
				+",landArea=" + landArea
				+",population=" + population
				+",gross=" + gross
				+",areaNumber=" + areaNumber
				+",postalCode=" + postalCode
				+",telephoneCode=" + telephoneCode
				+",carCode=" + carCode
				+",cityDescribe=" + cityDescribe
				+"]";
	}
}

3.测试

public class TestSerialize {
	
	public static void main(String [] args){
		
		System.out.println("测试开始......");
		List<Object> list = new ArrayList();
		CityModel cityModel = new CityModel();
		cityModel.setCityName("厦门");
		cityModel.setLandArea(1699.39);
		cityModel.setPopulation(401);
		cityModel.setGross(4351.18);
		cityModel.setAreaNumber("350200");
		cityModel.setPostalCode("361000");
		cityModel.setTelephoneCode("0592");
		cityModel.setCarCode("闽D");
		cityModel.setCityDescribe("适合居住的城市.");
		System.out.println("系列化:");
		byte[] result = OperateDataSerializeUtils.serializeObject(cityModel);
		CityModel city = (CityModel) OperateDataSerializeUtils.deserializedObject(result);
		System.out.println("反系列化:");
		System.out.println(city.toString());
		System.out.println("测试结束......");
	}

}

以上,TKS.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值