什么是Immutable对象?

Java中的,如果一个对象实例不能被更改就是一个Immutable的对象,比如String等都是Immutable的对象。 ImmutableMap:一个不可变集合

1.为什么使用它呢?

线程安全、更有效的利用内存、可作为常量

2.导入依赖:

<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId></dependency>

3.创建ImmutableMap:

    
Map<String,Object> immutableMap = new ImmutableMap.Builder<String,Object>().build(); 

4.在创建时放值:

Map<String,Object> immutableMap = new ImmutableMap.Builder<String,Object>() .put("k1","v1") .put("k2","v2") .build();

5.创建后不可变:

immutableMap.put("k1","v3");//会抛出java.lang.UnsupportedOperationException

ImmutableMap中key和value均不能为null,放入null值会抛出异常

6. ImmutableMap的使用场景:

适合: a. 确定性的配置, 比如根据不同的key值得到不同的请求url b. 写单元测试 不适合 a. key, value为未知参数, 可能有null产生的情况

7.其他对应结构:

相关推荐

  • 实时湖仓的核心技术与应用
  • 小米数据中台建设实践赋能业务增长!
  • NeurIPS 2023 | MixFormerV2:基于Transformer的高效跟踪器
  • 论文辅导 | 为什么建议你早点发表一篇核心论文?答案在这里!
  • 从梯度最大化看Attention的Scale操作
  • 视觉分词器统一图文信息,快手提出基座模型 LaVIT 刷榜多模态任务
  • 马斯克怒了,发帖挑衅ChatGPT,竟是奥特曼创建Grok同名的GPT?
  • 我的电子书,彻底爆了!
  • 我们该怎样迈向多云时代?
  • 阿里云产品集体崩溃,原因找到;传鸿蒙将与安卓不兼容,多家公司急招鸿蒙技术;超1500名小鹏P7车主联名维权丨T资讯
  • 一个收入被严重低估的方向!56K挡不住
  • 阿里云严重故障,钉钉、淘宝、闲鱼、阿里云盘都崩了
  • 【深度学习】CLAIM | AI在医学影像的checklist
  • 【NLP】大模型最全八股和答案(中)
  • 【学术相关】一位苦读6年终于毕业的博士说出了读博的四个陷阱
  • 大模型实践之浅尝prompt咒语设计:one-shot微调chatglm-6b实践信息抽取
  • 首发!文心一言「插件开发」中文教程,来了!
  • Node.js有多强?
  • Redis分布式锁存在哪些问题,该如何解决?
  • 2023年了,Java后端还能再战么?