场景:将对象序列化为字节数组,再将字节数组反系列化为对象
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.