Java Arrays copyOfRange() 方法



描述

Java Arrays copyOfRange(byte[] original, int from, int to) 方法將指定陣列的指定範圍複製到一個新陣列中。範圍的最終索引 (to) 必須大於或等於 from,可以大於 original.length,在這種情況下,(byte)0 將放置在所有索引大於或等於 original.length - from 的副本元素中。返回陣列的長度將為 to - from。

宣告

以下是java.util.Arrays.copyOfRange() 方法的宣告

public static byte[] copyOfRange(byte[] original, int from, int to)

引數

  • original − 這是要從中複製範圍的陣列。

  • from − 這是要複製範圍的初始索引(包含)。

  • to − 這是要複製範圍的最終索引(不包含)。

返回值

此方法返回一個新陣列,其中包含原始陣列中指定的範圍,截斷或填充零以獲得所需的長度。

異常

  • ArrayIndexOutOfBoundsException − 如果 from < 0 或 from > original.length()

  • IllegalArgumentException − 如果 from > to。

  • NullPointerException − 如果 original 為 null。

將位元組陣列複製到相同大小的陣列示例

以下示例演示了 Java Arrays copyOfRange() 方法的使用。首先,我們建立了一個位元組陣列。我們列印了它們。使用 copyOfRange() 方法建立相同大小的陣列副本並列印。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {

      byte[] byteArr = { 10, 20, 30, 13 };

      System.out.print("Byte Array: [");
      for (int i = 0; i < byteArr.length; i++) {
         System.out.print(byteArr[i] + " ");
      }

      System.out.print("]\nCopied Array: \n");

      // Create copy of the array of same size
      byte[] byteArrCopy = Arrays.copyOfRange(byteArr, 0, 4);
     
      System.out.print("Byte Array: [");
      for (int i = 0; i < byteArrCopy.length; i++) {
         System.out.print(byteArrCopy[i] + " ");
      }
      System.out.print("]");
   }
}

輸出

讓我們編譯並執行上面的程式,這將產生以下結果:

Byte Array: [10 20 30 13 ]
Copied Array: 
Byte Array: [10 20 30 13 ]

將位元組陣列複製到更大尺寸的陣列示例

以下示例演示了 Java Arrays copyOfRange() 方法的使用。首先,我們建立了一個位元組陣列。我們列印了它們。使用 copyOfRange() 方法建立更大尺寸的陣列副本,並列印附加了預設值的副本。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {

      byte[] byteArr = { 10, 20, 30, 13};
      System.out.print("Byte Array: [");
      for (int i = 0; i < byteArr.length; i++) {
         System.out.print(byteArr[i] + " ");
      }
      System.out.print("]\nCopied Arrays: \n");

      // Create copy of the array of greater size
      byte[] byteArrCopy = Arrays.copyOfRange(byteArr, 1, 6);

      System.out.print("Byte Array: [");
      for (int i = 0; i < byteArrCopy.length; i++) {
         System.out.print(byteArrCopy[i] + " ");
      }
      System.out.print("]");
   }
}

輸出

讓我們編譯並執行上面的程式,這將產生以下結果:

Byte Array: [10 20 30 13 ]
Copied Arrays: 
Byte Array: [20 30 13 0 0 ]

將位元組陣列複製到更小尺寸的陣列示例

以下示例演示了 Java Arrays copyOfRange() 方法的使用。首先,我們建立了一個位元組陣列。我們列印了它們。使用 copyOfRange() 方法建立更小尺寸的陣列副本並列印。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {

      byte[] byteArr = { 10, 20, 30, 13};

      System.out.print("Byte Array: [");
      for (int i = 0; i < byteArr.length; i++) {
         System.out.print(byteArr[i] + " ");
      }
      System.out.print("]\nCopied Arrays: \n");

      // Create copy of the array of lesser size
      byte[] byteArrCopy = Arrays.copyOfRange(byteArr, 1,3);

      System.out.print("Byte Array: [");
      for (int i = 0; i < byteArrCopy.length; i++) {
         System.out.print(byteArrCopy[i] + " ");
      }
      System.out.print("]");
   }
}

輸出

讓我們編譯並執行上面的程式,這將產生以下結果:

Byte Array: [10 20 30 13 ]
Copied Arrays: 
Byte Array: [20 30 ]
java_util_arrays.htm
廣告