JAVA中复制数组的方法
在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中复制数组的方法相关推荐
- java 复制一个数组_浅谈Java中复制数组的方式
在Java里面,可以用复制语句"A=B"给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组:如果一个数组发生改变,那么引用同 ...
- Java中的main()方法详解
源文作者:leizhimin 源文链接:http://lavasoft.blog.51cto.com/62575/53263 源文作者版权申明: 版权声明:原创作品,允许转载,转载时请务必以超链 ...
- 如何在java中调用js方法
[java] view plain copy/* * 加载脚本引擎,并在java中调用js方法 */ public void test2() { ScriptEngineManager manager ...
- java中构造方法和方法全面解析
java中构造方法和方法全面解析 我相信大多说人都对构造方法.方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望 ...
- java中的dispose()方法
java中的dispose()方法 先来看看 JAVA 1.5 的帮助文档的原文 - dispose - public void dispose() ****** 释放由此 Window.其子组件及其 ...
- java 重写方法 访问权限_为何Java中子类重写方法的访问权限不能低于父类中权限(内含里氏替换原则)...
为何Java中子类重写方法的访问权限不能低于父类中权限 因为 向上转型及Java程序设计维护的原因 例: 假设一个父类A 拥有的方法public void setXXX(){}可以被其他任意对象调用这 ...
- Java中重写equals()方法时注意点
Java中重写equals()方法时注意点 一直说,重写一个对象的equals()方法时我们必须重写HashCode()方法,但是如果我们不重写呢?会有什么影响呢? 首先看一下,什么情况下我们需要重写 ...
- JAVA中list.contains()方法,要重写equals(),hashcode()方法
今天动力节点java培训机构小编为大家介绍"JAVA中list.contains()方法,要重写equals(),hashcode()方法",希望能够帮助正在学习java的零基础学 ...
- Java 中的某些方法为什么要求传入一个 Class 对象
Java 中的某些方法为什么要求传入一个 Class 对象 在 Java 中,某些方法要求传入一个 Class 对象,这能保证该方法能返回一个正确的类型的对象,从而免除返回后的强制类型转换.比如 ...
最新文章
- HTML5--表单标签input新增type值
- Hadoop: MapReduce2的几个基本示例
- 领域驱动设计,让程序员心中有码(四)
- P4296-[AHOI2007]密码箱【数论】
- pat 乙级 1014 福尔摩斯的约会 (C++)
- VSTO应用程序中加入键盘钩子
- 蓝桥杯 ALGO-115 算法训练 和为T Java版
- python apply函数取数据中的后四位_python 实现rolling和apply函数的向下取值操作
- Tomcat学习--源码导入和运行
- Mapv 是地理信息可视化开源库
- Error connecting to database: No such file or directory
- python之 前端HTML/CSS基础知识学习笔记
- 简单易懂的Kubernetes(K8S)之Pod资源管理与harbor创建
- PLC的IO点位是什么意思
- 2022最新显卡天梯图,2022显卡天梯排行榜
- 如何查询网站dns服务器地址,如何查询DNS服务器地址 dns服务器地址查询方法详解...
- 哈夫曼树实现:统计文本信息,构造哈夫曼树,并对其进行编码与解码
- 微软azure和亚马逊服务器,云计算两强,亚马逊AWS与微软Azure的差异!
- 10种人脉裂变技能,6个裂变核心,8个吸粉人性本能怎样玩粉丝裂变?
- 皮尔逊相关系数实现相似K线及其性能优化
热门文章
- python入门操作学习
- c语言关键字_C语言初学者必须掌握的关键字!
- linux免交互登陆远程主机并执行命令(密钥对和Expect)
- openstack环境准备
- ApacheBench-web性能测试
- APUE读书笔记-03文件输入输出(2)
- Windows Phone实用开发技巧(1):保存图片及加载图片
- [转]MFC下关于“建立空文档失败”问题的分析
- Android_微信_设置
- my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接...