Java-util-arrays-copyofrange-u

提供:Dev Guides
移動先:案内検索

Java.util.Arrays.copyOfRange()メソッド

説明

  • java.util.Arrays.copyOfRange(U [] original、int from、int to、Class <? T []> newType)*メソッドを拡張します。指定された配列の指定された範囲を新しい配列にコピーします。 範囲(from)の初期インデックスは、ゼロとoriginal.lengthの間にある必要があります。 original [from]の値は、コピーの初期要素に配置されます(from == original.lengthまたはfrom == toの場合を除く)。

元の配列の後続の要素の値は、コピーの後続の要素に配置されます。 範囲(to)の最終インデックスは、from以上である必要があり、original.lengthより大きくてもかまいません。この場合、indexがoriginal以上のコピーのすべての要素にnullが配置されます。長さ-から。 返される配列の長さは-〜になります。 結果の配列は、newTypeクラスです。

宣言

以下は* java.util.Arrays.copyOfRange()*メソッドの宣言です

public static <T,U> T[] copyOfRange(U[] original, int from, int to, Class<? extends T[]> newType)

パラメーター

  • original -これは、範囲のコピー元の配列です。
  • from -これは、コピーされる範囲の初期インデックスです。
  • to -これは、コピーされる範囲の最終インデックスです。
  • newType -返されるコピーのクラス

戻り値

このメソッドは、元の配列から指定された範囲を含む新しい配列を返し、必要な長さを取得するために切り捨てられるかnullでパディングされます

例外

  • ArrayIndexOutOfBoundsException -<0または> original.length()からの場合
  • IllegalArgumentException -from> toの場合。
  • NullPointerException -オリジナルがnullの場合。
  • ArrayStoreException -オリジナルからコピーされた要素がクラスnewTypeの配列に格納できるランタイム型ではない場合。

次の例は、java.util.Arrays.copyOfRange()メソッドの使用方法を示しています。

package com.finddevguides;

import java.util.Arrays;

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

     //intializing an array arr1
      Short arr1[] = new Short[]{15, 10, 45};

     //printing the array
      System.out.println("Printing 1st array:");
      for (int i = 0; i < arr1.length; i++) {
         System.out.println(arr1[i]);
      }

     //copying array arr1 to arr2 as Number with range of index from 1 to 3
      Number[] arr2 = Arrays.copyOfRange(arr1, 1, 3, Number[].class);

     //printing the array arr2, which is a Number array
      System.out.println("Printing new array:");
      for (int i = 0; i < arr2.length; i++) {
         System.out.println(arr2[i]);
      }
   }
}

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

Printing 1st array:
15
10
45
Printing new array:
10
45