Java 如何将POJO转换为十六进制,反之亦然?

Java 如何将POJO转换为十六进制,反之亦然?,java,hex,pojo,Java,Hex,Pojo,我想知道是否有任何Java API可用于将POJO对象转换为十六进制字符串,反之亦然。没有简单的内置方法来实现这一点,但通常采取的方法是首先,然后。您应该使用序列化和反序列化 像这样 ByteArrayOutputStream os = new ByteArrayOutputStream(); ObjectOutputStream ous = new ObjectOutputStream(os); ous.writeObject(new Message()); ous.flush(); ous.

我想知道是否有任何Java API可用于将POJO对象转换为十六进制字符串,反之亦然。

没有简单的内置方法来实现这一点,但通常采取的方法是首先,然后。

您应该使用序列化和反序列化

像这样

ByteArrayOutputStream os = new ByteArrayOutputStream();
ObjectOutputStream ous = new ObjectOutputStream(os);
ous.writeObject(new Message());
ous.flush();
ous.close();
byte[] data = os.toByteArray();
os.close();


Serializable
ObjectOutputStream
这是可能的,但您的问题没有提供足够的详细信息来了解“将POJO对象转换为十六进制字符串”的含义。这可以用几种不同的方式来解释,如果不指定为什么要这样做,以及打算用十六进制字符串做什么,就不可能给出有意义的答案。
ByteArrayInputStream is = new ByteArrayInputStream(data);
ObjectInputStream ins = new ObjectInputStream(is);
Message object= (Message) ins.readObject();
ins.close();
is.close();