Object与String的切换

Object必须是序列化的对象

// 将list转为字符串类型数据
    public static String list2String(List<ShopcarBean> list) throws IOException {
        // 实例化一个ByteArrayOutputStream对象,用来装载压缩后的字节文件
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        // 然后将得到的字符数据装载到ObjectOutputStream
        ObjectOutputStream oos = new ObjectOutputStream(baos);
        // writeObject 方法负责写入特定类的对象的状态,以便相应的readObject可以还原它
        oos.writeObject(list);
        // 最后,用Base64.encode将字节文件转换成Base64编码,并以String形式保存
        String listString = new String(Base64.encode(baos.toByteArray(),
                Base64.DEFAULT));
        // 关闭oos
        oos.close();
        return listString;
    }

    // 将字符串形式保存的list还原
    public static List<ShopcarBean> string2List(String str)
            throws StreamCorruptedException, IOException,
            ClassNotFoundException {
        byte[] mByte = Base64.decode(str.getBytes(), Base64.DEFAULT);
        ByteArrayInputStream bais = new ByteArrayInputStream(mByte);
        ObjectInputStream ois = new ObjectInputStream(bais);
        List<ShopcarBean> stringList = (List<ShopcarBean>) ois.readObject();
        return stringList;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值