<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Java 9 不可變集示例 > 原文: [https://javatutorial.net/java-9-immutable-set-example](https://javatutorial.net/java-9-immutable-set-example) 本示例演示了如何使用新的 Java 9 `Collection`工廠方法創建不可變的`Set`。 在 Java 9 發行版中,Oracle 從其他流行的 [JVM](https://javatutorial.net/jvm-explained) 語言(例如 Kotlin,Guava,Scala 等)獲取工作實踐方面邁出了第一步。做到這一點時要適當考慮到跨語言的向后兼容性和語法一致性。 [JDK](https://javatutorial.net/install-java-8-jdk-on-ubuntu) 。 那些 [Java 9](https://javatutorial.net/install-java-9-eclipse) 新功能之一是**不變(不可修改)集**的創建。 ![Java 9 immutable Set example](https://img.kancloud.cn/f1/a0/f1a0fb1986400f0028b9720697c2589e_707x262.jpg) Java 9 不可變集示例 在 Java 9 之前,創建不可變`Set`是某種冗長的任務。 例如,要使用 Java 9 之前的版本創建一個空的不可變`Set`,我們使用以下代碼: ```java package javatutorial.net; import java.util.Collections; import java.util.HashSet; import java.util.Set; public class UnmodifiableSetExample { public static void main(String[] args) { Set<String> emptySet = new HashSet<String>(); Set<String> immutableSet = Collections.unmodifiableSet(emptySet); } } ``` ## 什么是不可變集 一旦在 Java 中創建了不可變對象,就無法更改值。 不可變集也不例外。 您**不能**: * 從集合中添加或刪除條目。 如果您嘗試這樣做,將在`java.lang.UnsupportedOperationException`中解決 * 修改`Set`元素。 嘗試這樣做會導致`java.lang.UnsupportedOperationException` * 將空元素添加到集合中。 如果您嘗試向集合中添加一個`null`元素,則結果為`java.lang.NullPointerException` ## 在 Java 9 中創建空的不可變集 要在 Java 9 中創建一個空列表,我們需要做的就是調用`List`工廠方法`of()`,請參見下面的示例 ```java package javatutorial.net; import java.util.Set; public class Java9EmptyImmutableSetExample { public static void main(String[] args) { Set<String> emptySet = Set.of(); } } ``` ## 在 Java 9 中使用元素創建不可變集 有 10 種工廠方法可創建不可變的`Set`,最多可包含 10 個元素(來源: [Java 9 `Set`接口 Javadoc](https://docs.oracle.com/javase/9/docs/api/java/util/Set.html) ): ```java static <E> Set<E> of?(E e1) Returns an immutable set containing one element. static <E> Set<E> of?(E e1, E e2) Returns an immutable set containing two elements. static <E> Set<E> of?(E e1, E e2, E e3) Returns an immutable set containing three elements. static <E> Set<E> of?(E e1, E e2, E e3, E e4) Returns an immutable set containing four elements. static <E> Set<E> of?(E e1, E e2, E e3, E e4, E e5) Returns an immutable set containing five elements. static <E> Set<E> of?(E e1, E e2, E e3, E e4, E e5, E e6) Returns an immutable set containing six elements. static <E> Set<E> of?(E e1, E e2, E e3, E e4, E e5, E e6, E e7) Returns an immutable set containing seven elements. static <E> Set<E> of?(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8) Returns an immutable set containing eight elements. static <E> Set<E> of?(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9) Returns an immutable set containing nine elements. static <E> Set<E> of?(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9, E e10) Returns an immutable set containing ten elements. ``` 以及一種具有可變數量參數的方法,可讓您創建具有任意數量元素的不可變集: ```java static <E> Set<E> of?(E... elements) ``` 下面的示例創建了一個由 3 個元素組成的不可變的`Set`: ```java package javatutorial.net; import java.util.Set; public class Java9ImmutableSetExample { public static void main(String[] args) { Set set = Set.of("A", "B", "C"); } } ``` 您將在此處找到的許多教程都是基于 Edward Lavieri 博士和 Peter Verhas 博士撰寫的 [Mastering Java 9](https://www.amazon.com/Mastering-Java-reactive-modular-concurrent/dp/1786468735/ref=sr_1_3?ie=UTF8&qid=1520921208&sr=8-3&keywords=mastering+java+9) 。 本書將為您提供對 Java 9 新概念和工具的完整而深刻的理解。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看