java byte 数组 复制_Java - 数组拷贝的几种方式(转)

目前在Java中数据拷贝提供了如下方式:

clone

System.arraycopy

Arrays.copyOf

Arrays.copyOfRange

下面分别介绍他们的用法

1、clone 方法

clone方法是从Object类继承过来的,基本数据类型(int ,boolean,char,byte,short,float ,double,long)都可以直接使用clone方法进行克隆,注意String类型是因为其值不可变所以才可以使用。

int 类型示例

int[] a1 = {1, 3};int[] a2 =a1.clone();

a1[0] = 666;

System.out.println(Arrays.toString(a1));//[666, 3]

System.out.println(Arrays.toString(a2)); //[1, 3]

String类型示例

String[] a1 = {"a1", "a2"};

String[] a2=a1.clone();

a1[0] = "b1"; //更改a1数组中元素的值

System.out.println(Arrays.toString(a1)); //[b1, a2]

System.out.println(Arrays.toString(a2)); //[a1, a2]

2、System.arraycopy

System.arraycopy方法是一个本地的方法,源码里定义如下:

public s

你可能感兴趣的:(java,byte,数组,复制)