<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 `instanceof`運算符 > 原文: [https://howtodoinjava.com/oops/java-instanceof/](https://howtodoinjava.com/oops/java-instanceof/) **Java 實例**運算符(也稱為類型比較[運算符](https://howtodoinjava.com/java/basics/operators-in-java/))用于測試對象是否為指定類型(類,子類或接口)的實例。 它返回: * `true` - 如果變量是指定類的實例,則它是父類或實現指定接口或父接口 * `false` - 如果變量不是類的實例或接口的實現; 或變量為空 ## 1\. Java `instanceof`語法 `instanceof`運算符將變量測試為指定的類型。 變量寫在運算符的左側,類型在運算符的右側。 ```java //<object-reference> instanceof TypeName boolean value = var instanceof ClassType; //or if(var instanceof ClassType) { //perform some action } ``` ## 2\. Java `instanceof`示例 讓我們看一個示例,以充分了解`instanceof`運算符用于比較類型的用法。 在此示例中,我們使用[`ArrayList`](https://howtodoinjava.com/java-arraylist/) 類測試其類型信息。 ```java import java.util.AbstractList; import java.util.ArrayList; import java.util.Collection; import java.util.LinkedList; import java.util.List; public class Main { public static void main(String[] args) { ArrayList<String> arrayList = new ArrayList<>(); System.out.println(arrayList instanceof ArrayList); //true System.out.println(arrayList instanceof AbstractList); //true System.out.println(arrayList instanceof List); //true System.out.println(arrayList instanceof Collection); //true System.out.println(null instanceof ArrayList); //false //System.out.println(arrayList instanceof LinkedList); //Does not compile } } ``` 程序輸出。 ```java true true true true false ``` ## 3\. Java `instanceof`和數組 在 Java 中,數組也被視為對象,并具有與之關聯的字段和方法。 因此,我們也可以將`instanceof`運算符與[數組](https://howtodoinjava.com/java-array/)一起使用。 * **基本數組**是`Object`和自身類型的實例。 例如`int[]`是`Object`和`int[]`的類型。 兩種比較均返回`true`。 * **對象數組**是對象,對象數組,類類型數組,父類類型數組的類型。 例如`Integer[]`是`Object`,`Object[]`,`Integer[]`和`Number []`(`Integer extends Number`)的類型。 ```java import java.util.AbstractList; import java.util.ArrayList; import java.util.Collection; import java.util.LinkedList; import java.util.List; public class Main { public static void main(String[] args) { int[] intArr = new int[3]; float[] floatArr = new float[3]; Integer[] intObjArr = new Integer[3]; Float[] floatObjArr = new Float[3]; String[] stringArr = new String[3]; System.out.println(intArr instanceof Object); //true System.out.println(intArr instanceof int[]); //true System.out.println(floatArr instanceof Object); //true System.out.println(floatArr instanceof float[]); //true System.out.println(intObjArr instanceof Object); //true System.out.println(intObjArr instanceof Object[]); //true System.out.println(intObjArr instanceof Integer[]); //true System.out.println(intObjArr instanceof Number[]); //true System.out.println(floatObjArr instanceof Float[]); //true System.out.println(stringArr instanceof String[]); //true } } ``` 程序輸出: ```java true true true true true true true true true true ``` ## 4\. 使用`instanceof`正確進行類型轉換 一個使用`instanceof`運算符的現實示例可以將變量類型轉換為另一種類型。`instanceof`運算符有助于在運行時避免`ClassCastException`。 考慮以下示例,其中我們嘗試將列表類型轉換為`LinkedList`類,其中原始變量的類型為`ArrayList`。 它將拋出`ClassCastException`。 ```java List<String> list = new ArrayList<>(); LinkedList<String> linkedList = (LinkedList<String>) list; ``` 為了正確地轉換變量,我們可以使用`instanceof`運算符。 它不會導致`ClassCastException`。 ```java List<String> list = new ArrayList<>(); if(list instanceof LinkedList) { LinkedList<String> linkedList = (LinkedList<String>) list; //application code } ``` 向我提供有關用于類型比較的 **Java `instanceof`運算符**的問題。 學習愉快!
                  <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>

                              哎呀哎呀视频在线观看