Java开发之Java对数组的复制
苏格拉底曾说过,“世界上最快乐的事,莫过于为理想而奋斗。”人生短短数十年,何不为梦想而奋斗一把?其实只要主动追求,梦想并不遥远。总有一天,你会把它攥在手里。
作为写的第一篇Java文章,展望一下开始下面的学习;
数组:
1.数组浅拷贝:
public static void main(String[] args)
{
int [] a={1,3,5,7,8,9};
int[] b=a; //这里赋值的只是数组的地址
System.out.println(Arrays.toString(a));
b[2]=21; //所以当修改数组b时数组a也会随着改变
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(b));
/*输出结果为:[1, 3, 5, 7, 8, 9]
[1, 3, 21, 7, 8, 9]
[1, 3, 21, 7, 8, 9]
*/
}
浅拷贝:两个变量共同指向同一对象;
2.数组深拷贝:
public static void main(String[] args)
{
int [] a={1,3,5,7,8,9};
int[] b=a.clone();//这就是把数组a的内容复制一份给数组b
System.out.println(Arrays.toString(a));
b[2]=21;
System.out.println(Arrays.toString(b));
/*运行结果:
* [1, 3, 5, 7, 8, 9]
[1, 3, 21, 7, 8, 9]
*/
}
小结:
数组的复制现在至少有四个思路:
- 使用循环结构 这种方法最灵活。唯一不足的地方就是代码比较多
- 使用Object 类的clone()方法,这种方法最简单,得到原数组的一个副本。灵活性也最差,效率最差尤其是在数组元素很大或者复制对象数组时。
- 使用System的arraycopy这种方法被告知速度最快,并且灵活性也较好,可以指定原数组名称,以及元素的开始位置,复制的元素的个数,目标数组名称,目标数组的位置。
- Array类的copyOf()方法与copyOfRange()方法可实现对数组的复制
Java开发之Java对数组的复制的更多相关文章
- Android开发之Java必备基础
Android开发之Java必备基础 Java类型系统 Java语言基础数据类型有两种:对象和基本类型(Primitives).Java通过强制使用静态类型来确保类型安全,要求每个变量在使用之前必须先 ...
- Android开发之Java集合类性能分析
对于Android开发者来说深入了解Java的集合类很有必要主要是从Collection和Map接口衍生出来的,目前主要提供了List.Set和 Map这三大类的集合,今天Android吧(ard8. ...
- java开发之IO流
一直对IO流记不清楚,从别的地方转过来. 看下图: 流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两 ...
- Java开发之JSP行为
一.Java Bean行文 1.重点说明 Java Bean行为是一组与Java Bean相关的行为,包括useBean行为.setProperty行为.getProperty行为等.Java Bea ...
- Java开发之JSP指令
一.page指令 page指令是最常用的指令,用来说明JSP页面的属性等.JSP指令的多个属性可以写在一个page指令里,也可以写在多个指令里.但需要注意的是,无论在哪个page指令里的属性,任何pa ...
- Java开发之JDK配置
windows下配置JDK环境变量: 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:/java/jdk1.5.0_08: 2.安装完成后,右击“我的电 ...
- Java开发之File类
File类 File类是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹. File类保存文件或目录的各种元数据信息,包括文件名.文件长度.最后修改时间.是否可读.获取当 ...
- Java开发之I/O读取文件实例详解
在java开发或者android开发中,读取文件是不可避免的,以下对java开发中读取文件做了归纳和详解: 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 pa ...
- java 开发之linux 下 tomcat
tomcat作为java开发的服务器,可以部署在各种系统中. 官方下载地址:http://tomcat.apache.org/download-80.cgi 1. 装tomcat 之前,先要装jdk ...
随机推荐
- SqlParameter 使用
SqlParameter[] param = new SqlParameter[] { new SqlParameter ...
- MyEclipse 自动换行
打开Eclipse的Window菜单,然后Preferences->Java->Code Style->Formatter->Edit/Show(根据不同版本可用的按钮会不一样 ...
- Composer PHP依赖管理的新时代
安装Composer Composer需要PHP 5.3.2+才能运行. $ curl -sS https://getcomposer.org/installer | php 这个命令会将compos ...
- window 2008+apache2.4.4+php5.5+mysql-5.6.12+phpmyadmin4.0.4.1安装过程(参考他人文章基础上加上自己遇到的问题)
一.window server2008的安装 1.我用U盘安装的,先用UltraISO把server2008刻录到U盘中,过程我搜了一下,帖个地址: http://wenku.baidu.com/vi ...
- 使用spring的JavaMailSender发送邮件
一:pom.xml <!-- java邮件 --> <dependency> <groupId>javax.mail</group ...
- 如何快速定位到Eclipse自动添加的TODO
把自动生成的// TODO ....前面加上todo,这样生成之后就会有编译错误,直接 ctrl+. 就到该位置了,可以删除todo留着// TODO ...,也可以ctrl+d删除一行: 不建议不生 ...
- 小兔JS教程(五) 简单易懂的JSON入门
上一节的参考答案: http://xiaotublog.com/demo.html?path=homework/04/index2 本节重点来介绍一下JSON,JSON(JavaScript Obje ...
- 无法删除MySql数据库,报错1010 error dropping
环境:MySQL.Navicat 8 操作:Drop database testDB 报错:1010 error dropping database 解决方法: ps -ef | g ...
- yum网络源配置
[root@xuegod60 ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak[root@x ...
- CSS 文件的4种引入方式
(1)链接式 : 在网页的<head></head>标签对中使用<link>标记来引入外部样式表文件,使用html规则引入外部css (用得比较多) : < ...