<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Java 菱形運算符 – Java 中的`<>`運算符 > 原文: [https://howtodoinjava.com/java7/improved-type-inference-in-java-7/](https://howtodoinjava.com/java7/improved-type-inference-in-java-7/) 在 [Java 7](https://howtodoinjava.com/java7/java-7-changes-features-and-enhancements/) 之前,在使用[泛型](https://howtodoinjava.com/java/generics/complete-java-generics-tutorial/)時,我們必須為變量類型及其實際類型提供類型參數。 現在,此新的 Java 7 特性已使它有所緩解。 聲明右側的空白 **Java 菱形運算符**可以正常工作。 菱形運算符用兩個角度`'< >'`表示。 ## 1\. 在泛型之前 – 原始類型聲明 如果您使用的是 Java 的早期版本(1.5 之前的版本),則當泛型不是 Java 特性時,開發人員必須使用原始類型聲明和初始化。 例如,下面給出的是`HashMap`聲明。 ```java Map params = new HashMap(); ``` 這種方法的問題是,您可以將任何對象類型放入鍵和值中,并且只有在運行時,如果對象不是所需類型,您將得到錯誤。 沒有可以警告開發人員的編譯時安全性,即哪些類型允許,哪些類型不允許。 ## 2\. 泛型 – 參數化類型 JDK 1.5 帶來了泛型。 它必須具有許多急需的特性,并且完全改變了開發人員編寫代碼的方式。 它啟用了編譯時安全性。 它有助于大量減少運行時錯誤。 ```java Map<String, Integer> params = new HashMap<String, Integer>(); ``` 該語法解決了**編譯時類型安全性**的問題。 實際上,以上語法幾乎適用于所有用例。 在上面的示例中,如果嘗試添加任何其他類型的鍵或值,則編譯器將給您錯誤。 您需要修復代碼才能通過編譯器。 ## 3\. 菱形運算符 參數化類型可以解決問題,但由于雙方重復使用相同的類型信息,因此看起來很繁瑣。 如果我們可以在一側提供類型信息,而另一側可以檢測并應用類型信息,則可以減少語法。 **Java** 中的菱形運算符執行完全相同的操作。 也稱為 **Elvis 運算符**。 在下面查看**菱形運算符語法**。 ```java Map<String, Integer> params = new HashMap<>(); ``` 在上面的代碼中,編譯器足夠聰明,可以識別**菱形運算符**推斷聲明左側的類型。 它將類型信息也應用于右側對象。 它有助于向 Java 添加類型推斷特性。 ## 4\. 向后兼容性 為了向后兼容,原始類型和參數化類型仍然存在。 但是,新編譯器會在看到原始類型時發出警告。 如果從 Java 5 開始編譯原始類型,則會收到如下警告: ```java ArrayList is a raw type. References to generic type ArrayList<E> should be parameterized ``` 學習快樂! 閱讀更多: 維基中的[菱形運算符](https://en.wikipedia.org/wiki/Diamond_operator)
                  <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>

                              哎呀哎呀视频在线观看