java如何使用使用clone()方法对数组进行复制?

TK 2020-09-21 10:06:31 java常见问答 4401

下面要给大家讲到的就是java使用clone()方法对数组进行复制拷贝的相关内容,你知道具体要怎样做吗?请通过下面的文章内容来进行了解吧。

clone()方法也可以实现复制数组。

使用clone()方法方法是类Object当中的方法,可以创建一个有单独内存空间的对象。

因为数组也是一个Object类,所以的话也可以使用数组对象的clone()方法来复制数组。

clone()方法的返回值是Object类型,要使用强制类型转换为适当的类型。

它的语法形式还是很简单的:

array_name.clone()

这里的话要稍微的注意一下了,假如,目标数组已经存在,将会被重构。

示例:

int[] targetArray=(int[])sourceArray.clone();

有一个长度为8的scores数组,因为程序需要,现在要定义一个名称为newScores的数组来容纳scores数组中的所有元素,可以使用clone()方法来将scores数组当中的元素全部复制到newScores数组当中。

下面是代码:首先定义了一个长度为8的scores数组,并循环遍历这个数组输出数组中的元素,之后定义了一个名称为newScores的新数组,并使用scores.clone()方法将scores数组中的元素复制给newScores 数组。

最后循环遍历newScores 数组,输出数组元素。

public class Test22
{
    public static void main(String[] args)
    {
        // 定义原数组,长度为8
        int scores[] = new int[]
        {
            100
            , 81
            , 68
            , 75
            , 91
            , 66
            , 75
            , 100
        };
        System.out.println("原数组中的内容如下:");
        // 遍历原数组
        for (int i = 0; i < scores.length; i++)
        {
            System.out.print(scores[i] + "\t");
        }
        // 复制数组,将Object类型强制转换为int[]类型
        int newScores[] = (int[]) scores.clone();
        System.out.println("\n目标数组内容如下:");
        // 循环遍历目标数组
        for (int k = 0; k < newScores.length; k++)
        {
            System.out.print(newScores[k] + "\t");
        }
    }
}

运行结果:scores数组的元素和newScores数组的元素是相同的。

原数组中的内容如下:
100    81    68    75    91    66    75    100   
目标数组内容如下:
100    81    68    75    91    66    75    100

更多java常见问题及解决方法,请继续关注奇Q工具网进行了解。

推荐阅读:

java常见问答 Java复制拷贝数组方法详解,使用copyOf()方法

java常见问答 java如何使用CopyOfRange()方法对数组进行复制?

java常见问答 java如何使用arraycopy()方法对数组进行复制?