java ImmutableMap使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java ImmutableMap使用相关的知识,希望对你有一定的参考价值。
原文地址:https://blog.csdn.net/wantsToBeASinger/article/details/84997362
java中的Immutable对象:
简单地说,如果一个对象实例不能被更改就是一个Immutable的对象,Java SDK提供的大量值对象,比如String等都是Immutable的对象。
创建ImmutableMap:
Map<String,Object> immutableMap = new ImmutableMap.Builder<String,Object>().build();
在创建时放值:
Map<String,Object> immutableMap = new ImmutableMap.Builder<String,Object>() .put("k1","v1") .put("k2","v2") .build();
创建后不可变:
immutableMap.put("k1","v3");//会抛出java.lang.UnsupportedOperationException
ImmutableMap中key和value均不能为null,放入null值会抛出NPE
ImmutableMap的使用场景:
适合
确定性的配置, 比如根据不同的key值得到不同的请求url
写单元测试
不适合
key, value为未知参数, 可能有null产生的情况
以上是关于java ImmutableMap使用的主要内容,如果未能解决你的问题,请参考以下文章
java 在另一个ImmutableMap上叠加/合并ImmutableMap
解决Android Studio com.google.common.collect.ImmutableMap.hashCode 造成的StackOverflowError异常
解决Android Studio com.google.common.collect.ImmutableMap.hashCode 造成的StackOverflowError异常
解决Android Studio com.google.common.collect.ImmutableMap.hashCode 造成的StackOverflowError异常