如何进行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)

相关推荐

  • 一什么狗尾草,狗尾巴草有什么象征意义吗

    技术一什么狗尾草,狗尾巴草有什么象征意义吗象征不被人了解的爱,但却可以为她默默付出……默默的爱一个人,默默的看他(她),默默的为他(她),默默的为他(她)做着一切,但仅仅只是默默,无声无息的爱犹如狗尾巴草,狗尾巴草的爱情

    生活 2021年10月22日
  • ai怎么画三角形,AI里怎么画圆角三角形

    技术ai怎么画三角形,AI里怎么画圆角三角形方法ai怎么画三角形:1、打开ai ctrl+n新建文件 选择“多边形工具”。
    2、在画板上按住左键画形状,默认出现的是五边形,按住左键不松手,同时点击“向下的方向键”每点

    生活 2021年10月24日
  • 凯撒密码对应表,凯撒密码求编程。语言不限

    技术凯撒密码对应表,凯撒密码求编程。语言不限凯撒加密是最简单的加密,就是 把字符移动n位, 例如 凯撒密码对应表:移动1位时,a就用b表示,f用e表示。#includeint main(void){

    生活 2021年10月25日
  • 关于ccoosCreator里的物理系统

    技术关于ccoosCreator里的物理系统 关于ccoosCreator里的物理系统按理说,可以说有两个碰撞系统的
    一个是设置collision碰撞组件进行碰撞
    另一个是 设置物理引擎 getPhys

    礼包 2021年11月9日
  • 怎么处理数据库中文字符集乱码

    技术怎么处理数据库中文字符集乱码本篇内容主要讲解“怎么处理数据库中文字符集乱码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么处理数据库中文字符集乱码”吧!一、问题描述

    攻略 2021年11月11日
  • 僵尸粉自助下单,抖音找人刷粉是什么意思?

    技术僵尸粉自助下单,抖音找人刷粉是什么意思?僵尸粉自助下单,抖音找人刷粉是什么意思?你是否经常拍抖音短视频却无法上热门,你是否辛苦专研却没有什么收获!这些都是因为你没有掌握对抖音上热门的方法,方法不对,埋头苦干只能南辕北

    测评 2021年11月11日