栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将HashMap.toString()转换回Java中的HashMap

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将HashMap.toString()转换回Java中的HashMap

toString()
这种方法依赖于的实现,
toString()
并且在大多数情况下可能是有损的。

这里不可能有无损解决方案。但更好的方法是使用对象序列化

将对象序列化为字符串

private static String serialize(Serializable o) throws IOException {    ByteArrayOutputStream baos = new ByteArrayOutputStream();    ObjectOutputStream oos = new ObjectOutputStream(baos);    oos.writeObject(o);    oos.close();    return base64.getEnprer().enpreToString(baos.toByteArray());}

将字符串反序列化为对象

private static Object deserialize(String s) throws IOException,        ClassNotFoundException {    byte[] data = base64.getDeprer().depre(s);    ObjectInputStream ois = new ObjectInputStream( new ByteArrayInputStream(data));    Object o = ois.readObject();    ois.close();    return o;}

在此,如果用户对象具有临时字段,则它们将在过程中丢失。


旧答案


一旦使用toString()将HashMap转换为String;不是您可以将其从该String转换回Hashmap,而只是将其转换为String表示形式。

您可以将对HashMap的引用传递给method,也可以对其进行序列化

这是toString()的描述toString()
这是带有序列化说明的示例代码。

并将hashMap作为arg传递给方法。

public void sayHello(Map m){}//calling block  Map  hm = new HashMap();sayHello(hm);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/497662.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号