📜  Java中的数组 copyOf() 和示例(1)

📅  最后修改于: 2023-12-03 14:42:57.657000             🧑  作者: Mango

Java中的数组 copyOf()

在Java中,数组通常是一个固定长度的数据结构,一旦创建便不能更改数组大小。不过,Java 1.6版本以后,Java中加入了Arrays类的copyOf()方法,可以通过该方法创建一个新的数组,同时可以指定复制数组的长度,如果指定长度小于原数组长度,那么新数组将只复制原数组前面的元素。如果指定长度大于原数组长度,则新数组其他位置被填充为默认初始值。

copyOf()方法的语法

copyOf()方法属于Arrays类的静态方法,语法如下:

public static int[] copyOf(int[] original, int newLength)

其中,参数original表示原数组,newLength表示需要复制的新数组长度。

copyOf()方法的示例

下面是一个简单的示例,说明如何使用copyOf()方法创建一个新的数组:

import java.util.Arrays;

public class CopyArrayExample {
    public static void main(String[] args) {
        int[] originalArray = {1,2,3,4,5};
        int[] copiedArray = Arrays.copyOf(originalArray, 3);
        System.out.println("Original Array: " + Arrays.toString(originalArray));
        System.out.println("Copied Array: " + Arrays.toString(copiedArray));
    }
}

输出结果如下:

Original Array: [1, 2, 3, 4, 5]
Copied Array: [1, 2, 3]

在上面的示例中,我们先定义了原始数组originalArray,然后使用copyOf()方法创建了一个新的数组,长度为3。最后,我们使用Arrays.toString()方法输出原数组和新数组的元素内容。

使用copyOf()方法填充默认值

我们还可以使用copyOf()方法创建一个长度大于原数组长度的新数组,并指定需要填充的默认值。下面是一个示例:

import java.util.Arrays;

public class CopyArrayExample2 {
    public static void main(String[] args) {
        int[] originalArray = {1,2,3,4,5};
        int[] copiedArray = Arrays.copyOf(originalArray, 7);
        System.out.println("Original Array: " + Arrays.toString(originalArray));
        System.out.println("Copied Array: " + Arrays.toString(copiedArray));
    }
}

输出结果如下:

Original Array: [1, 2, 3, 4, 5]
Copied Array: [1, 2, 3, 4, 5, 0, 0]

在上面的示例中,我们使用copyOf()方法创建了一个长度为7的新数组,并指定其他位置填充默认值。注意,默认值为数组元素类型的默认值,对于int类型,默认值为0。

使用copyOf()方法创建不同类型的数组

除了创建int类型的数组,我们还可以使用copyOf()方法创建其他类型的数组。下面是一个示例,创建一个字符串类型的数组:

import java.util.Arrays;

public class CopyArrayExample3 {
    public static void main(String[] args) {
        String[] originalArray = {"apple", "banana", "orange"};
        String[] copiedArray = Arrays.copyOf(originalArray, 5);
        System.out.println("Original Array: " + Arrays.toString(originalArray));
        System.out.println("Copied Array: " + Arrays.toString(copiedArray));
    }
}

输出结果如下:

Original Array: [apple, banana, orange]
Copied Array: [apple, banana, orange, null, null]

在上面的示例中,我们使用copyOf()方法创建了一个长度为5的字符串类型的数组。其他位置都填充有默认值null。

总结

通过本文,我们学习了如何使用Java中的Arrays类的copyOf()方法,创建新的数组并复制原数组的元素。我们还学习了如何指定新数组的长度和填充默认值。copyOf()方法能大大简化在Java中数组的操作。