object 转换成byte[] 的方法

刚从datagridview中读取数值,但是该值为object类型。需要的是byte[] 类型。在度娘的帮助下,还是找到了解决办法。。

代码如下:

 private byte[] ConvetToObj(object obj)
        {
            BinaryFormatter se = new BinaryFormatter();
            MemoryStream memStream = new MemoryStream();
            se.Serialize(memStream, obj);
            byte[] bobj = memStream.ToArray();
            memStream.Close();
            return bobj;

        }

要将一个 Object 对象转换成 LinkedHashMap 对象,你需要进行以下步骤: 1. 首先,保你的 Object 对象是可序列化的,即实现了 Serializable 接口。 2. 创建一个空的 LinkedHashMap 对象。 3. 使用 Java 的序列化和反序列化机制将 Object 对象转换成字节数组。你可以使用 ObjectOutputStream 将 Object 对象写入一个 ByteArrayOutputStream,然后再从 ByteArrayOutputStream 中获取字节数组。 4. 使用 Java 的反序列化机制将字节数组转换成 LinkedHashMap 对象。你可以使用 ObjectInputStream 从字节数组创建一个 ByteArrayInputStream,并从 ByteArrayInputStream 中读取 LinkedHashMap 对象。 下面是一个示例代码,展示了如何将一个 Object 对象转换成 LinkedHashMap 对象: ```java import java.io.*; public class ObjectToLinkedHashMap { public static void main(String[] args) { // 创建一个 Object 对象 Object obj = new Object(); try { // 将 Object 对象转换成字节数组 ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream(); ObjectOutputStream objOutStream = new ObjectOutputStream(byteOutStream); objOutStream.writeObject(obj); byte[] byteArray = byteOutStream.toByteArray(); // 将字节数组转换成 LinkedHashMap 对象 ByteArrayInputStream byteInStream = new ByteArrayInputStream(byteArray); ObjectInputStream objInStream = new ObjectInputStream(byteInStream); LinkedHashMap<String, Object> linkedHashMap = (LinkedHashMap<String, Object>) objInStream.readObject(); // 输出转换后的 LinkedHashMap 对象 System.out.println(linkedHashMap); } catch (IOException | ClassNotFoundException e) { e.printStackTrace(); } } } ``` 请注意,这个示例代码中的 Object 对象是一个空对象,你需要将其替换为你自己的实际对象。另外,为了成功转换,你可能需要导入 java.util.LinkedHashMap、java.io.ByteArrayOutputStream、java.io.ObjectOutputStream、java.io.ByteArrayInputStream 和 java.io.ObjectInputStream 这些类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值