在JAVA里面,可以用复制语句”A=B”给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组;如果一个数组发生改变,那么引用同一数组的变量也要发生改变.
以下是归纳的JAVA中复制数组的方法:
1.使用FOR循环,将数组的每个元素复制或者复制指定元素,不过效率差一点
2.使用clone方法,得到数组的值,而不是引用,不能复制指定元素,灵活性差一点
3.使用System.arraycopy(src, srcPos, dest, destPos, length)方法,推荐使用
举例:
1.使用FOR循环
int[] src={1,3,5,6,7,8};
int[] dest = new int[6];
for(int i=0;i<6;i++) dest[i] = src[i];

2.使用clone
int[] src={1,3,5,6,7,8};
int[] dest;
dest=(int[]) src.clone();//使用clone创建
副本,注意clone要使用强制转换
3.使用System.arraycopy
int[] src={1,3,5,6,7,8};
int[] dest = new int[6];
System.arraycopy(src, 0, dest, 0, 6);
——————————————————————-
System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制.
其函数原型是:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

src:源数组; srcPos:源数组要复制的起始位置;
dest:目的数组; destPos:目的数组放置的起始位置;
length:复制的长度.

注意:src and dest都必须是同类型或者可以进行转换类型的数组.
有趣的是这个函数可以实现自己到自己复制,
比如:int[] fun ={0,1,2,3,4,5,6};
System.arraycopy(fun,0,fun,3,3);

则结果为:{0,1,2,0,1,2,6};

JAVA中复制数组的方法相关推荐

  1. java 复制一个数组_浅谈Java中复制数组的方式

    在Java里面,可以用复制语句"A=B"给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组:如果一个数组发生改变,那么引用同 ...

  2. Java中的main()方法详解

    源文作者:leizhimin    源文链接:http://lavasoft.blog.51cto.com/62575/53263 源文作者版权申明: 版权声明:原创作品,允许转载,转载时请务必以超链 ...

  3. 如何在java中调用js方法

    [java] view plain copy/* * 加载脚本引擎,并在java中调用js方法 */ public void test2() { ScriptEngineManager manager ...

  4. java中构造方法和方法全面解析

    java中构造方法和方法全面解析 我相信大多说人都对构造方法.方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望 ...

  5. java中的dispose()方法

    java中的dispose()方法 先来看看 JAVA 1.5 的帮助文档的原文 - dispose - public void dispose() ****** 释放由此 Window.其子组件及其 ...

  6. java 重写方法 访问权限_为何Java中子类重写方法的访问权限不能低于父类中权限(内含里氏替换原则)...

    为何Java中子类重写方法的访问权限不能低于父类中权限 因为 向上转型及Java程序设计维护的原因 例: 假设一个父类A 拥有的方法public void setXXX(){}可以被其他任意对象调用这 ...

  7. Java中重写equals()方法时注意点

    Java中重写equals()方法时注意点 一直说,重写一个对象的equals()方法时我们必须重写HashCode()方法,但是如果我们不重写呢?会有什么影响呢? 首先看一下,什么情况下我们需要重写 ...

  8. JAVA中list.contains()方法,要重写equals(),hashcode()方法

    今天动力节点java培训机构小编为大家介绍"JAVA中list.contains()方法,要重写equals(),hashcode()方法",希望能够帮助正在学习java的零基础学 ...

  9. Java 中的某些方法为什么要求传入一个 Class 对象

    Java 中的某些方法为什么要求传入一个 Class 对象   在 Java 中,某些方法要求传入一个 Class 对象,这能保证该方法能返回一个正确的类型的对象,从而免除返回后的强制类型转换.比如 ...

最新文章

  1. HTML5--表单标签input新增type值
  2. Hadoop: MapReduce2的几个基本示例
  3. 领域驱动设计,让程序员心中有码(四)
  4. P4296-[AHOI2007]密码箱【数论】
  5. pat 乙级 1014 福尔摩斯的约会 (C++)
  6. VSTO应用程序中加入键盘钩子
  7. 蓝桥杯 ALGO-115 算法训练 和为T Java版
  8. python apply函数取数据中的后四位_python 实现rolling和apply函数的向下取值操作
  9. Tomcat学习--源码导入和运行
  10. Mapv 是地理信息可视化开源库
  11. Error connecting to database: No such file or directory
  12. python之 前端HTML/CSS基础知识学习笔记
  13. 简单易懂的Kubernetes(K8S)之Pod资源管理与harbor创建
  14. PLC的IO点位是什么意思
  15. 2022最新显卡天梯图,2022显卡天梯排行榜
  16. 如何查询网站dns服务器地址,如何查询DNS服务器地址 dns服务器地址查询方法详解...
  17. 哈夫曼树实现:统计文本信息,构造哈夫曼树,并对其进行编码与解码
  18. 微软azure和亚马逊服务器,云计算两强,亚马逊AWS与微软Azure的差异!
  19. 10种人脉裂变技能,6个裂变核心,8个吸粉人性本能怎样玩粉丝裂变?
  20. 皮尔逊相关系数实现相似K线及其性能优化

热门文章

  1. python入门操作学习
  2. c语言关键字_C语言初学者必须掌握的关键字!
  3. linux免交互登陆远程主机并执行命令(密钥对和Expect)
  4. openstack环境准备
  5. ApacheBench-web性能测试
  6. APUE读书笔记-03文件输入输出(2)
  7. Windows Phone实用开发技巧(1):保存图片及加载图片
  8. [转]MFC下关于“建立空文档失败”问题的分析
  9. Android_微信_设置
  10. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接...