Java 中的 Util.Arrays 和 Reflect.Array


util.Arrays 類

java.util.Arrays 類包含一個靜態工廠,允許將陣列視為列表。以下是關於 Arrays 的重要要點:

  • 此類包含用於運算元組的各種方法(例如排序和搜尋)。

  • 如果指定的陣列引用為空,則此類中的方法會丟擲 NullPointerException。

例如,此類的 equals() 方法接受兩個陣列並進行比較。

示例

 線上演示

import java.util.Arrays;
public class ComparingArrays {
   public static void main(String args[]){
      String[] myArray1 = {"JavaFX", "HBase", "OpenCV", "WebGL", "FlexBox"};
      String[] myArray2 = {"JavaFX", "HBase", "OpenCV", "WebGL", "FlexBox"};
      Boolean result = Arrays.equals(myArray1, myArray2);
      System.out.println(result);
   }
}

輸出

True

此類的 asList() 方法接受一個數組並返回一個固定大小的列表。

示例

 線上演示

import java.util.Arrays;
import java.util.List;
public class ArrayToList {
   public static void main(String args[]){
      Integer[] myArray = {23, 93, 56, 92, 39};
      List list = Arrays.asList(myArray);
      System.out.println(list);
   }
}

輸出

[23, 93, 56, 92, 39]

lang.reflect.Array 類

java.lang.reflect 包中的Array 類提供靜態方法來動態建立和訪問 Java 陣列。Array 允許在 get 或 set 操作期間發生擴充套件轉換,但如果發生縮小轉換,則會丟擲 IllegalArgumentException。

此類提供了一個 newInstance() 方法、getter 方法和 setter 方法。newInstance() 方法接受一個名為 Class 的類的物件,表示所需的元件,以及一個表示陣列長度的整數,建立並返回一個具有給定規格的陣列。

此類的 getter 方法 getLong()、getInteger()、getLong() 等接受一個以物件形式表示的陣列和一個表示索引的整數,並返回給定陣列中指定索引處的元素。

此類的 setter 方法 setLong()、setInteger()、setLong() 等接受一個以物件形式表示的陣列、一個表示索引的整數和一個相應資料型別的值,並在指定索引處設定給定值。

示例

 線上演示

import java.lang.reflect.Array;
import java.util.Arrays;
public class Reflection_ArrayExample {
   public static void main(String args[]){
      int [] intArray = (int[]) Array.newInstance(int.class, 5);
      intArray[0] = 2001;
      intArray[1] = 12447;
      intArray[2] = 6358;
      intArray[3] = 902;
      intArray[4] = 6654;
      Array.setInt(intArray, 1, 1111);
      Array.setInt(intArray, 3, 3333);
      Array.setInt(intArray, 4, 4444);
      System.out.println(Arrays.toString(intArray));
      System.out.println(Array.getInt(intArray, 1));
      System.out.println(Array.getInt(intArray, 3));
      System.out.println(Array.getInt(intArray, 4));
   }
}

輸出

[2001, 1111, 6358, 3333, 4444]
1111
3333
4444

更新於: 2019年9月6日

80 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.