package com.nq.utils.stock; import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; import java.io.ByteArrayOutputStream; import java.io.IOException; public class SerializeUtil { /** * 把java对象序列化成byte数组 * @author LAN * @date 2018年11月13日 * @param object * @return */ public static byte[] serialize(Object object) { if(object==null) { return null; } ByteArrayOutputStream baos = null; Output output = null; try { Kryo kryo = new Kryo(); baos = new ByteArrayOutputStream(); output = new Output(baos); kryo.writeObject(output, object); output.flush(); return baos.toByteArray(); } finally { try { if(baos!=null) baos.close(); } catch (IOException e) { e.printStackTrace(); } output.close(); } } /** * 把byte数组反序列化得到java对象 * @author LAN * @date 2018年11月13日 * @param bytes * @param clazz * @return */ public static T unserialize(byte[] bytes, Class clazz) { if(bytes==null || bytes.length==0) { return null; } Kryo kryo = new Kryo(); Input input = new Input(bytes); T obj = (T) kryo.readObject(input, clazz); input.close(); return obj; } }