Java-util-arrays-copyof-t

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

Java.util.Arrays.copyOf(T []、int)メソッド

説明

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

宣言

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

public static <T> T[] copyOf(T[] original, int newLength)

パラメーター

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

戻り値

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

例外

  • NegativeArraySizeException -newLengthが負の場合。
  • NullPointerException -オリジナルがnullの場合。

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

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 with newlength as 5 as Object
      Object arr2 = Arrays.copyOf(arr1, 5);

     //cast arr2 as short in order to be printable
      short[] arr3 = (short[]) arr2;

     //printing the array arr2. Since arr3 is a short[],nulls are now 0
      System.out.println("Printing new array:");
      for (int i = 0; i < 5; i++) {
         System.out.println(arr3[i]);
      }
   }
}

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

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