日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Java 9 JShell示例:集合静态工厂方法

發布時間:2023/12/3 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 9 JShell示例:集合静态工厂方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章繼續了My My Java 9 Features博客文章中對Java9功能的探索。 在這里,我們在List,Set和Map接口中試驗Java9 Collections靜態工廠方法。

集合靜態工廠方法

Java9使用其新的靜態工廠方法使創建不可變列表更加容易

有12種Set.of和List.of方法–

  • List.of()或Set.of()
  • List.of(E e1)或Set.of(E e1)至E e10
  • List.of(E…元素)或Set.of(E…元素)

例子

jshell> Set.of() $1 ==> [] | created scratch variable $1 : Set<Object>

注意將推理作為List對象

要靜態

清單

(E e1,E e2,E e3)的–

jshell> List.of("one","two","three") $2 ==> [one, two, three] | created scratch variable $2 : List<String>

將推理記錄為列表

賓語

參數的數量一直增加到E e10,此時我們可以使用vararg –

靜態的

清單

(E ...個元素)

同樣,地圖定義–

  • staticMapof()
  • staticMapof(K k1,V v1)到(K k10,V v10)
  • staticMapofEntries(Map.Entry
    …條目)–注意使用
    地圖條目

例子

jshell> Map.of() $12 ==> {}jshell> Map.of("key1", "value1", "key2", "value2") $13 ==> {key1=value1, key2=value2} | created scratch variable $13 : Map<String,String>

集合靜態工廠方法的特征

這些靜態工廠方法列表,集合和映射的共同特征是–

  • 從結構上講是不可變的-盡管元素本身是不可變的,但拋出UnsupportedOperationException
jshell> Set<String> immutableSet = Set.of("one","two","three") immutableSet ==> [three, two, one] | created variable immutableSet : Set<String>jshell> immutableSet.add("four") | java.lang.UnsupportedOperationException thrown:
  • 沒有空-拋出NullPointerException
jshell> List<Object> notNullList = List.of(null) | Warning: | non-varargs call of varargs method with inexact argument type for last parameter; | cast to java.lang.Object for a varargs call | cast to java.lang.Object[] for a non-varargs call and to suppress this warning | List<Object> notNullList = List.of(null); | ^--^ | java.lang.NullPointerException thrown: | at List.of (List.java:1030) | at (#10:1)
  • 序列化–如果元素可序列化,則序列化

列出特定特征

  • 訂單–訂單與元素輸入保持相同
jshell> List<String> immutableList = List.of("one","two","three") immutableList ==> [one, two, three] | created variable immutableList : List<String>

設置特定特征

  • 拒絕重復–集合還將在創建時使用IllegalArgumentException拒絕重復–
jshell> Set.of("one","one") | java.lang.IllegalArgumentException thrown: duplicate element: one

地圖特定特征

  • 拒絕重復的Keus –映射將拒絕具有IllegalArgumentException的重復鍵–
jshell> Map.of("key1", "value1", "key1", "value2") | java.lang.IllegalArgumentException thrown: duplicate key: key1 | at ImmutableCollections$MapN.<init> (ImmutableCollections.java:680) | at Map.of (Map.java:1326) | at (#15:1)
  • 也不保證迭代

結論

這些是用于創建不可變集合的有用且快速的方法,而jshell為了解新方法及其相關特性提供了良好的測試基礎。

翻譯自: https://www.javacodegeeks.com/2017/10/java-9-jshell-examples-collections-static-factory-methods.html

總結

以上是生活随笔為你收集整理的Java 9 JShell示例:集合静态工厂方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。