博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HashMap 初始化时赋值
阅读量:6956 次
发布时间:2019-06-27

本文共 675 字,大约阅读时间需要 2 分钟。

hot3.png

一般初始化一个map并且给map赋值的写法:

HashMap
map = new HashMap
();map.put("name", "test"); map.put("age", "20");

但是我想在初始化的时候就直接给map中set值。

HashMap
map = new HashMap
() { { map.put("name", "test"); map.put("age", "20"); }};

我开始这么写是想一行来写完,因为我觉得就是初始化了一个map,然后还要操作多行。就用了上面的第二种写法,但是后来查了一下,发现第二种方法其实并不好用,解释如下:

1.此种方式是匿名内部类的声明方式,所以引用中持有着外部类的引用。所以当时串行化这个集合时外部类也会被不知不觉的串行化,当外部类没有实现serialize接口时,就会报错。

2.上例中,其实是声明了一个继承自HashMap的子类。然而有些串行化方法,例如要通过Gson串行化为json,或者要串行化为xml时,类库中提供的方式,是无法串行化Hashset或者HashMap的子类的,从而导致串行化失败。

有的说法还说第二种的话,其实效率比我们平常使用的方式还低,所以还是使用回第一种方式来处理吧。

转载于:https://my.oschina.net/ChinaHaoYuFei/blog/1606437

你可能感兴趣的文章
Linux操作命令(六)
查看>>
1、压滤机工作原理
查看>>
设计模式学习总结-桥接模式(Bridge Pattern)
查看>>
数组参数和指针参数实例
查看>>
halcon算子翻译——copy_image
查看>>
Javascript-寄生构造函数模式
查看>>
halcon算子翻译——grab_data_async
查看>>
使用Haar分类器进行面部检测
查看>>
Java中的注释和嵌入式文档
查看>>
阿里云监控插件卸载 Go语言版本
查看>>
【PM日记】处理事务的逻辑
查看>>
SQL连接操作符介绍(循环嵌套, 哈希匹配和合并连接)
查看>>
参数化(四):处理非均匀数据分布
查看>>
Makefile-2
查看>>
获取页面中出现次数最多的三个标签以及出现次数
查看>>
访问WEB-INF目录中的文件
查看>>
web接口开发与测试
查看>>
php -- php控制linux关机、重启、注销
查看>>
867. Transpose Matrix
查看>>
十.python面向对象(itme)
查看>>