import com.google.gson.Gson;
import java.io.Serializable;
public class BodyCodec implements IBodyCodec {
private static Gson gson = new Gson();
@Override
public <T> byte[] serialize(T obj) throws Exception {
//1. jdk 序列化 //2. json //3.自定义算法(Hessian2)
return gson.toJson(obj).getBytes();
}
@Override
public <T> T deserialize(byte[] bytes, Class<T> clazz) throws Exception {
return gson.fromJson(new String(bytes), clazz);//new String(bytes) 用bytes数组构造字符串,每一个byte可以对应一个十进制的数字,由8个bit组成
}
static class A implements Serializable {
public String a;
}
public static void main(String[] args) throws Exception {
A a=new A();
a.a="test";
byte[] serialize = new BodyCodec().serialize(a);
A deserialize = new BodyCodec().deserialize(serialize, A.class);
System.out.println(deserialize.a);
}
}
Gson序列化和反序列化以及泛型以及byte字节流
最新推荐文章于 2023-02-10 16:03:02 发布