<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之旅 廣告
                ## 數組比較 **數組** 提供了 **equals()** 來比較一維數組,以及 **deepEquals()** 來比較多維數組。對于所有原生類型和對象,這些方法都是重載的。 數組相等的含義:數組必須有相同數量的元素,并且每個元素必須與另一個數組中的對應元素相等,對每個元素使用 **equals()**(對于原生類型,使用原生類型的包裝類的 **equals()** 方法;例如,int的Integer.equals()。 ```JAVA // arrays/ComparingArrays.java // Using Arrays.equals() import java.util.*; import onjava.*; public class ComparingArrays { public static final int SZ = 15; static String[][] twoDArray() { String[][] md = new String[5][]; Arrays.setAll(md, n -> new String[n]); for (int i = 0; i < md.length; i++) Arrays.setAll(md[i], new Rand.String()::get); return md; } public static void main(String[] args) { int[] a1 = new int[SZ], a2 = new int[SZ]; Arrays.setAll(a1, new Count.Integer()::get); Arrays.setAll(a2, new Count.Integer()::get); System.out.println("a1 == a2: " + Arrays.equals(a1, a2)); a2[3] = 11; System.out.println("a1 == a2: " + Arrays.equals(a1, a2)); Integer[] a1w = new Integer[SZ], a2w = new Integer[SZ]; Arrays.setAll(a1w, new Count.Integer()::get); Arrays.setAll(a2w, new Count.Integer()::get); System.out.println("a1w == a2w: " + Arrays.equals(a1w, a2w)); a2w[3] = 11; System.out.println("a1w == a2w: " + Arrays.equals(a1w, a2w)); String[][] md1 = twoDArray(), md2 = twoDArray(); System.out.println(Arrays.deepToString(md1)); System.out.println("deepEquals(md1, md2): " + Arrays.deepEquals(md1, md2)); System.out.println("md1 == md2: " + Arrays.equals(md1, md2)); md1[4][1] = "#$#$#$#"; System.out.println(Arrays.deepToString(md1)); System.out.println("deepEquals(md1, md2): " + Arrays.deepEquals(md1, md2)); } } /* Output: a1 == a2: true a1 == a2: false a1w == a2w: true a1w == a2w: false [[], [btpenpc], [btpenpc, cuxszgv], [btpenpc, cuxszgv, gmeinne], [btpenpc, cuxszgv, gmeinne, eloztdv]] deepEquals(md1, md2): true md1 == md2: false [[], [btpenpc], [btpenpc, cuxszgv], [btpenpc, cuxszgv, gmeinne], [btpenpc, #$#$#$#, gmeinne, eloztdv]] deepEquals(md1, md2): false */ ``` 最初,a1和a2是完全相等的,所以輸出是true,但是之后其中一個元素改變了,這使得結果為false。a1w和a2w是對一個封裝類型數組重復該練習。 **md1** 和 **md2** 是通過 **twoDArray()** 以相同方式初始化的多維字符串數組。注意,**deepEquals()** 返回 **true**,因為它執行了適當的比較,而普通的 **equals()** 錯誤地返回 **false**。如果我們更改數組中的一個元素,**deepEquals()** 將檢測它。
                  <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>

                              哎呀哎呀视频在线观看