如何进行java在hashmap初始化时赋初值过程的解析

技术如何进行java在hashmap初始化时赋初值过程的解析如何进行java在hashmap初始化时赋初值过程的解析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习

很多新手对于初始化hashmap时如何分析给java赋值的过程不是很清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。

Java中的HashMap是一种常见的数据结构,一般用作数据字典或Hash查找的容器。

通常,我们通过这样做来初始化和分配初始值:

HashMapString,Object map=new HashMap();map.put('name ',' yang GB ');map.put('情人',' Huang q ');

但有时我们希望在表达式中完成初始化和初始值赋值:

HashMapString,Object map=new HashMap(){ { put(' name ',' yang GB ');放(‘情人’,‘黄q’);}};

这里使用了双括号[{{{}}]进行初始化,使得代码简洁易读。第一个括号实际上定义了一个匿名内部类,第二个括号实际上是一个实例初始值设定项块,它在内部匿名类被构造时执行。这样写的好处很明显,就是一目了然。但是,这种写入可能会导致该对象的序列化失败的问题。

首先,因为这个方法是匿名内部类的声明方法,所以引用保存了外部类的引用。因此,序列化此集合时,外部类将被无意识地序列化,并且当外部类未实现序列化接口时,将报告错误。

其次,在上面的例子中,实际上声明了一个继承自HashMap的子类。但是,一些序列化方法,如通过Gson序列化到json或序列化到xml,无法序列化Hashset或HashMap的子类,从而导致序列化失败。解决方法是将其重新初始化为HashMap对象[新HashMap(map)];】,这样可以正常初始化。

此外,需要注意的是,这种使用双括号进行初始化的语法在执行效率上比普通的初始化编写略低。

最后,这种使用双括号进行初始化的语法也适用于数组列表和集合。

阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/138382.html

(0)

相关推荐

  • 互联网中好用简洁的项目管理软件有哪些

    技术互联网中好用简洁的项目管理软件有哪些这篇文章主要介绍互联网中好用简洁的项目管理软件有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!TeamLabTeamLab 是一个免费开源的商业协作和项

    攻略 2021年11月2日
  • Linux下Tomcat怎样进行以非root用户执行特权操作

    技术Linux下Tomcat怎样进行以非root用户执行特权操作今天就跟大家聊聊有关Linux下Tomcat怎样进行以非root用户执行特权操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大

    攻略 2021年12月8日
  • 智能机怎么刷机,nokla智能机怎么刷机

    技术智能机怎么刷机,nokla智能机怎么刷机有两种刷机。1软刷:恢复出厂设置 2硬刷:(个人不建议)刷机前要备份好重要数据像手机号码什么的 。下面是硬刷过程(搜索粘贴的)  一、准备  1、下载navifirm  2、下

    生活 2021年10月22日
  • 门字框,“门字框的字”是什么意思

    技术门字框,“门字框的字”是什么意思“门字框的字”指的是部首是“门”的字,如闻、闲、闷、闭、闯等门字框。
    一、拼音: mén
    二、释义:
    1、建筑物的出入口,又指安装在出入口能开关的装置:~儿。~口。开~见山。

    生活 2021年10月22日
  • 电子商务是干什么的,电子商务专业主要是做什么的

    技术电子商务是干什么的,电子商务专业主要是做什么的1电子商务做什么电子商务,说起来很简单,但是行内的人士都知道这是很大的一个领域电子商务是干什么的。不能用一两句话就讲清楚。首先电子商务的开展需要一个网络的平台(就是一个网

    生活 2021年10月25日
  • ES6新特性常用的知识点有哪些

    技术ES6新特性常用的知识点有哪些这篇文章主要介绍了ES6新特性常用的知识点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.关键字Let 关键字

    攻略 2021年11月13日