日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java ImmutableMap的使用說明

瀏覽:133日期:2022-08-11 08:26:55
ImmutableMap:一個不可變集合

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.UnsupportedOperationExceptionImmutableMap中key和value均不能為null,放入null值會拋出NPE

ImmutableMap的使用場景:

適合

1、確定性的配置, 比如根據不同的key值得到不同的請求url

2、寫單元測試

不適合

1、key, value為未知參數, 可能有null產生的情況

guava中ImmutableMap使用示例及好處

ImmutableMap是不可變的,線程安全的;它可以創建一些常量的映射鍵值對;他提供了很多的組合鍵值對的方法,源碼中使用了一個靜態內部類來組裝構建ImmutableMap,靜態內部類作為外部類的輔助構建ImmutableMap,內部使用final聲明了一個ArrayList變量。

public static class Builder<K, V>{ final ArrayList<Map.Entry<K, V>> entries = Lists.newArrayList(); public Builder() {} public Builder<K, V> put(K key, V value) { this.entries.add(ImmutableMap.entryOf(key, value)); return this; } public Builder<K, V> put(Map.Entry<? extends K, ? extends V> entry) { K key = entry.getKey(); V value = entry.getValue(); if ((entry instanceof ImmutableEntry)) {Preconditions.checkNotNull(key);Preconditions.checkNotNull(value);Map.Entry<K, V> immutableEntry = entry;this.entries.add(immutableEntry); } else {this.entries.add(ImmutableMap.entryOf(key, value)); } return this; } public Builder<K, V> putAll(Map<? extends K, ? extends V> map) { this.entries.ensureCapacity(this.entries.size() + map.size()); for (Map.Entry<? extends K, ? extends V> entry : map.entrySet()) {put(entry.getKey(), entry.getValue()); } return this; } public ImmutableMap<K, V> build() { return fromEntryList(this.entries); } private static <K, V> ImmutableMap<K, V> fromEntryList(List<Map.Entry<K, V>> entries) { int size = entries.size(); switch (size) { case 0: return ImmutableMap.of(); case 1: return new SingletonImmutableBiMap((Map.Entry)Iterables.getOnlyElement(entries)); } Map.Entry<?, ?>[] entryArray = (Map.Entry[])entries.toArray(new Map.Entry[entries.size()]); return new RegularImmutableMap(entryArray); } }

之前我們判斷取值結果可以使用if else形式:

int a = 1;if(a == 1) { System.out.println(a);} else { System.out.println(a);}

或者使用switch方式:

int a = 1;switch (a) {case 1: System.out.println(a); break;case 2: System.out.println(a);default: System.out.println(a); break;}

現在可以使用ImmutableMap集合來組裝鍵值對,這樣的組合方式既簡單又省去了大量多余的代碼:

ImmutableMap<String, Object> map = ImmutableMap .<String, Object>builder() .put('1', '1') .put('2', '2') .put('3', '3') .build();

ImmutableMap<String, String> map1 = ImmutableMap .<String, String>of('1', '2');

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
你懂的网址国产 欧美| 91偷拍一区二区三区精品| 成人三级高清视频在线看| 国产精品日本一区二区不卡视频| 蜜臀久久99精品久久久久宅男 | 日韩三级视频| 亚洲毛片视频| 日韩精品一页| 国产极品一区| 欧美三级网址| 一区在线免费| 久久国产精品亚洲77777| 亚洲欧洲日韩精品在线| 在线精品小视频| 女同性一区二区三区人了人一 | 久久精品二区亚洲w码| 久久精品一本| 人人精品亚洲| 亚洲一区黄色| 日韩美女国产精品| 美女日韩在线中文字幕| 日韩av在线免费观看不卡| 麻豆一区二区三| 日韩精品看片| 亚洲成人免费| 日本不卡视频在线| 欧美另类中文字幕| 黄毛片在线观看| 亚洲黄页一区| 国产探花在线精品一区二区| 麻豆视频在线看| 国产一级一区二区| 国产精品视频一区视频二区| 日韩毛片视频| 亚洲免费一区二区| 国产亚洲一区二区三区啪| 久久99蜜桃| 久久一区二区三区电影| 免费看日韩精品| 麻豆精品视频在线观看免费| av一区二区高清| 欧美日韩中文字幕一区二区三区| 免费成人性网站| 国产成人久久精品一区二区三区| 国产99久久| 欧美精品影院| 国产精品亚洲二区| 伊人成人网在线看| 精品一二三区| 视频一区视频二区中文| 九九99久久精品在免费线bt| 丝袜美腿亚洲一区| 国产成人精品福利| 日韩精品一二三| 国产盗摄——sm在线视频| 蜜臀久久99精品久久久久宅男| 欧美综合精品| 免费不卡中文字幕在线| 国产欧美亚洲一区| 激情综合亚洲| 欧美激情在线精品一区二区三区| 日韩视频在线一区二区三区 | 人在线成免费视频| 日产欧产美韩系列久久99| 99成人超碰| 国产精品第一| 欧美日韩视频网站| 国产乱码精品一区二区亚洲| 日韩久久一区二区三区| 国产日韩一区二区三免费高清 | 综合国产在线| 欧美91视频| 国产成人免费精品| 欧美有码在线| 蜜臀av在线播放一区二区三区| 中文字幕在线看片| 欧美日韩一区自拍| 亚洲免费影院| 久久一级电影| 中文在线资源| 国产欧美一区| 日韩亚洲精品在线观看| 婷婷亚洲五月| 色吊丝一区二区| 久久亚洲国产精品尤物| 亚洲精品第一| 国产亚洲一级| 尹人成人综合网| 日韩三区免费| 国产成人77亚洲精品www| 91精品日本| 综合国产精品| 亚洲美女久久精品| 福利一区在线| 国产精久久一区二区| 综合亚洲视频| 亚洲日本欧美| 中文无码日韩欧| 亚洲我射av| 亚洲精品少妇| 日韩精选在线| 日韩和欧美一区二区三区| 丝袜诱惑制服诱惑色一区在线观看 | 国产精东传媒成人av电影| 日本h片久久| 蜜桃传媒麻豆第一区在线观看| 亚洲一区日韩| 亚洲综合丁香| 视频在线观看一区二区三区| 视频一区二区中文字幕| 免费人成网站在线观看欧美高清| 视频一区欧美精品| 综合一区二区三区| 亚洲1区在线观看| 日本不卡一区二区| 日韩一二三区在线观看| 日韩欧美激情电影| 国产亚洲人成a在线v网站| 国产图片一区| 美女视频黄免费的久久| 国产精品地址| 国产一区一一区高清不卡| а√天堂8资源在线| 日韩在线中文| 欧美精品一卡| 色8久久久久| 国产精品www.| 日韩在线欧美| 国产免费成人| 日本伊人午夜精品| 丰满少妇一区| aa亚洲婷婷| 国产精品亚洲片在线播放| 日韩成人综合| 日本 国产 欧美色综合| 国产欧美亚洲精品a| 蜜臀国产一区| 亚洲精品免费观看| 国际精品欧美精品| 日韩专区在线视频| 国产精品久久久久蜜臀 | 国产中文欧美日韩在线| 国内精品福利| 国产午夜一区| 免费黄色成人| 91精品麻豆| 久久久久欧美精品| 中文一区一区三区免费在线观| 六月婷婷一区| 亚洲欧美日本日韩| 色综合视频一区二区三区日韩 | 午夜精品婷婷| 日本成人在线一区| 国产情侣一区| 日产精品一区二区| 丰满少妇一区| 久久精品国产大片免费观看| 亚洲一区二区三区高清| 日韩二区三区在线观看| 久久精品国产99国产| 久久久亚洲一区| 中文无码久久精品| 日韩电影二区| 香蕉视频成人在线观看| 日韩有吗在线观看| 精品国产麻豆| 免播放器亚洲一区| 国产精品**亚洲精品| 97精品国产福利一区二区三区| 国内精品福利| 国产免费播放一区二区| 亚洲神马久久| 久久av中文| 午夜在线精品偷拍| 精品午夜av| 国产综合色产| 国产成人久久精品麻豆二区| 亚洲作爱视频| 精品成av人一区二区三区| 欧美日中文字幕| 久久国产人妖系列| 综合激情网...| 成人在线免费观看91| 蜜臀a∨国产成人精品| 国产一区二区三区网| 视频在线在亚洲| 久久精品国产亚洲一区二区三区| 91国语精品自产拍| 久久99影视| 中文不卡在线| 久草免费在线视频| 一区二区三区网站| 狠狠久久婷婷| 国精品产品一区| 视频一区中文字幕精品| 91精品啪在线观看国产18| 国产精品22p| 亚洲欧美不卡| 高清av不卡| 国产精品xvideos88|