System.arraycopy

 /*
native关键字 本地方法 System类 java.lang.System.class
参数说明:
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。
*/
public static native void arraycopy(Object src, int srcPos,Object dest, int destPos,int length);

Arrays.copyOf();该方法对于不同的数据类型都有相应的方法重载

/*
original - 要复制的数组
newLength - 要返回的副本的长度
newType - 要返回的副本的类型
*/
//基本数据类型
public static int[] copyOf(int[] original, int newLength)
//复杂数据类型 由U类型复制为T类型
public static <T,U> T[] copyOf(U[] original, int newLength, Class<?extends T[]> newType)

Arrays.copyOfRange()方法

/*
original 要复制的数组
from初始索引
to最终索引
newType 要返回的副本类型
*/
//基本类型 可以使short、int、byte.....
public static <T> T[] copyOfRange(T[] original, int from, int to)
{
return copyOfRange(original, from, to, (Class<T[]>)original.getClass());
}
//复杂类型 由U类型转为T类型
public static <T,U> T[] copyOfRange(U[] original, int from, int to, Class<? extends T[]> newType)

代码:

System.arraycopy

int a[]={0,1,2,3,4,5,6,7,8,9,11};
int ab[] = new int[5];
System.arraycopy(a, 0, ab, 0, 5);
for (int i : ab) {
System.out.println(i);
}

Arrays.copyOf 基本数据类型

int a[]={0,1,2,3};
//original a[] newLength 新数组长度 如果大于老数组长度数组元素为0
int c[] = Arrays.copyOf(a, 5);
for (int i : c) {
System.out.println(i);
}

Arrays.copyOf 复杂数据类型

// Short 数组
Short shortArr[] = new Short[]{5, 2, 15, 52, 10};
// copy Short 数组 返回 Number[]数组
Number[] arr2 = Arrays.copyOf(shortArr, 5, Number[].class);
//遍历Number[]
System.out.println("arr2 数组值:");
for (Number number : arr2) {
System.out.println("Number = " + number);
}

Arrays.copyOfRange

int a[]={0,1,2,3,4,5};
//original a[]数组 from初始索引 to最终索引
int ab[] = Arrays.copyOfRange(a, 0, 8);
for (int i : ab) {
System.out.println(i);
}

复制数组: Arrays.copy 实现通过System.arraycopy完成

最新文章

  1. StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改
  2. jQuery.bind() 函数详解
  3. Matlab txt内容替换函数 fgetl fseek
  4. 【bzoj1562】 NOI2009—变换序列
  5. 解决PHP生成校验码时“图像因其本身有错无法显示”的错误
  6. LVS+keepalived实现负载均衡
  7. ocp 1Z0-047 1-60题解析
  8. linux管理文件系统指令
  9. hrbustoj 1985(进制转换函数)
  10. 【BZOJ4816】数字表格(莫比乌斯反演)
  11. 每日冲刺报告——Day4(Java-Team)
  12. 末学者笔记--shell编程上 2 玄
  13. centOS 开机自启动自己的脚本
  14. Java使用 SFTP实现文件上传下载
  15. 进制转换&amp;数据类型(1)
  16. 阿里面试回来,想和Java程序员谈一谈
  17. [python]一个关于默认参数的老问题和一个有关优化的新问题
  18. 一遍记住Java常用的八种排序算法与代码实现
  19. 安全测试之bWAPP环境搭建
  20. Synchronized之一:基本使用

热门文章

  1. c语言学习笔记(10)——结构体
  2. eclipse中让关闭的项目不再显示
  3. 44个 Javascript 变态题解析——分分钟让你怀疑人生
  4. windows通过使用xShell远程linux上传文件
  5. 简明Python3教程 19.附录 FLOSS
  6. 简明Python3教程 13.面向对象编程
  7. 移动浏览器Chrome 32 for Android移除300ms点击推迟
  8. MIPS之路在何方?
  9. android:layout_gravity和android:gravity属性差异
  10. BIOS 选项设置的含义