将byte []转换为java中的用户定义类

JGC*_*JGC 2 java serialization

我想转换从socket得到的byte []我写的一个类(Message).我试过了

byte[] data=new btyte[100];
.
.
.
Message m=(Message)data;
Run Code Online (Sandbox Code Playgroud)

但它没有用,给我错误我该怎么办?

Yan*_*ton 16

假设您正在谈论序列化对象:

试试这个:

ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(data));
Message message = (Message) in.readObject();
in.close();
Run Code Online (Sandbox Code Playgroud)

如果您以其他方式序列化Message,则必须使用参数化构造函数或返回该类型的新实例的静态方法自行解析它.