Java-util-arrays-copyof-u

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

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

説明

  • java.util.Arrays.copyOf(U [] original、int newLength、Class <? T []> newType)*メソッドを拡張して、指定された配列をコピーし、(必要に応じて)nullで切り捨てまたはパディングして、コピーが指定された長さになるようにします。 元の配列とコピーの両方で有効なすべてのインデックスについて、2つの配列には同じ値が含まれます。 コピーでは有効だが元のインデックスではないインデックスの場合、コピーにはnullが含まれます。 そのようなインデックスは、指定された長さが元の配列の長さよりも大きい場合にのみ存在します。結果の配列はクラスnewTypeです。

宣言

以下は* java.util.Arrays.copyOf(T、U)*メソッドの宣言です。

public static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType)

パラメーター

  • original -これはコピーされる配列です。
  • newLength -これは返されるコピーの長さです。

戻り値

このメソッドは、元の配列のコピーを返します。指定された長さを取得するために、切り捨てられるかnullが埋め込まれます。

例外

  • NegativeArraySizeException -newLengthが負の場合。
  • NullPointerException -オリジナルがnullの場合。
  • ArrayStoreException -オリジナルからコピーされた要素が、クラスnewTypeの配列に格納できるランタイム型ではない場合

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

package com.finddevguides;

import java.util.Arrays;

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

     //initializing unsorted short array
      Short shortArr[] = new Short[]{5, 2, 15, 52, 10};

     //copy the array into another Number array
      Number[] arr2 = Arrays.copyOf(shortArr, 5, Number[].class);

     //let us print all the elements available in list
      System.out.println("The copied number array is:");
      for (Number number : arr2) {
         System.out.println("Number = " + number);
      }
   }
}

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

The copied number array is:
Number = 5
Number = 2
Number = 15
Number = 52
Number = 10