当前位置: 首页 > wzjs >正文

建设会员功能网站报价国际新闻最新消息10条

建设会员功能网站报价,国际新闻最新消息10条,专业定制网站系统,开发公司成本如何管控在 Java 中,拷贝数组 是指将一个数组的内容复制到另一个数组中。数组拷贝可以分为 浅拷贝 和 深拷贝,具体取决于数组元素的类型(基本数据类型或引用数据类型)。以下是几种常见的数组拷贝方法: 1. 使用 for 循环手动拷贝…

在 Java 中,拷贝数组 是指将一个数组的内容复制到另一个数组中。数组拷贝可以分为 浅拷贝 和 深拷贝,具体取决于数组元素的类型(基本数据类型或引用数据类型)。以下是几种常见的数组拷贝方法:


1. 使用 for 循环手动拷贝

这是最基础的方法,通过遍历原数组,将每个元素复制到新数组中。

示例:

java

Copy

public class Main {public static void main(String[] args) {int[] original = {1, 2, 3, 4, 5};int[] copy = new int[original.length];// 使用 for 循环拷贝数组for (int i = 0; i < original.length; i++) {copy[i] = original[i];}// 打印拷贝后的数组for (int num : copy) {System.out.print(num + " ");}}
}
  • 输出结果

    Copy

    1 2 3 4 5
  • 特点

    • 适用于基本数据类型数组和引用数据类型数组。

    • 对于引用数据类型数组,拷贝的是引用(浅拷贝)。


2. 使用 System.arraycopy() 方法

System.arraycopy() 是 Java 提供的一个高效数组拷贝方法。

语法:

java

Copy

System.arraycopy(原数组, 原数组起始位置, 目标数组, 目标数组起始位置, 拷贝长度);
示例:

java

Copy

public class Main {public static void main(String[] args) {int[] original = {1, 2, 3, 4, 5};int[] copy = new int[original.length];// 使用 System.arraycopy 拷贝数组System.arraycopy(original, 0, copy, 0, original.length);// 打印拷贝后的数组for (int num : copy) {System.out.print(num + " ");}}
}
  • 输出结果

    Copy

    1 2 3 4 5
  • 特点

    • 高效,底层是 native 方法。

    • 适用于基本数据类型数组和引用数据类型数组。

    • 对于引用数据类型数组,拷贝的是引用(浅拷贝)。


3. 使用 Arrays.copyOf() 方法

Arrays.copyOf() 是 Java 提供的一个简便的数组拷贝方法。

语法:

java

Copy

目标数组 = Arrays.copyOf(原数组, 新数组长度);
示例:

java

Copy

import java.util.Arrays;public class Main {public static void main(String[] args) {int[] original = {1, 2, 3, 4, 5};// 使用 Arrays.copyOf 拷贝数组int[] copy = Arrays.copyOf(original, original.length);// 打印拷贝后的数组for (int num : copy) {System.out.print(num + " ");}}
}
  • 输出结果

    Copy

    1 2 3 4 5
  • 特点

    • 简洁易用。

    • 适用于基本数据类型数组和引用数据类型数组。

    • 对于引用数据类型数组,拷贝的是引用(浅拷贝)。


4. 使用 clone() 方法

Java 中的数组是对象,因此可以使用 clone() 方法来拷贝数组。

示例:

java

Copy

public class Main {public static void main(String[] args) {int[] original = {1, 2, 3, 4, 5};// 使用 clone 方法拷贝数组int[] copy = original.clone();// 打印拷贝后的数组for (int num : copy) {System.out.print(num + " ");}}
}
  • 输出结果

    Copy

    1 2 3 4 5
  • 特点

    • 简单易用。

    • 适用于基本数据类型数组和引用数据类型数组。

    • 对于引用数据类型数组,拷贝的是引用(浅拷贝)。


5. 深拷贝与浅拷贝

  • 浅拷贝:只拷贝数组的引用,新数组和原数组共享相同的元素(适用于基本数据类型数组)。

  • 深拷贝:拷贝数组的所有元素,包括引用数据类型数组中的对象(需要手动实现)。

深拷贝示例:

java

Copy

class Person implements Cloneable {String name;Person(String name) {this.name = name;}@Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();}
}public class Main {public static void main(String[] args) throws CloneNotSupportedException {Person[] original = {new Person("Alice"), new Person("Bob")};Person[] copy = new Person[original.length];// 深拷贝for (int i = 0; i < original.length; i++) {copy[i] = (Person) original[i].clone();}// 修改原数组中的对象original[0].name = "Charlie";// 打印拷贝后的数组for (Person person : copy) {System.out.println(person.name);}}
}
  • 输出结果

    Copy

    Alice
    Bob
  • 特点

    • 深拷贝后,修改原数组中的对象不会影响新数组。


6. 总结

  • 浅拷贝:适用于基本数据类型数组,或引用数据类型数组的引用拷贝。

  • 深拷贝:适用于引用数据类型数组,需要手动实现。

  • 常用方法

    • for 循环:灵活,适用于所有场景。

    • System.arraycopy():高效,推荐使用。

    • Arrays.copyOf():简洁易用。

    • clone():简单,但需要实现 Cloneable 接口。

http://www.dtcms.com/wzjs/178730.html

相关文章:

  • 做第三方库个人网站中国数据网
  • wordpress域名根目录seo入门培训
  • 提升网站访问速度德州seo优化
  • 深圳市外贸网站建设多少钱地推网app推广平台
  • 网站做二维码吗有产品怎么找销售渠道
  • 怎么简单做网站排名百度大搜数据多少钱一条
  • 网站地图怎么做的免费网站模板库
  • 北京市住房和城乡建设委员会的官方网站中国十大小说网站排名
  • 商丘市有没有做网站新乡百度网站优化排名
  • 网站建设应注意什么短视频如何引流与推广
  • 香港网站建设电脑培训班价目表
  • 扬州企业做网站搜索引擎入口
  • 联通网站服务器网站优化要多少钱
  • 网站推广是网站建设完成之后的长期工作。友情链接搜读
  • 建零售网站还是网站快速搜索
  • 咋制作网站网址大全123
  • 网站横幅广告怎么做英雄联盟更新公告最新
  • 做外国网站怎么买空间360点睛实效平台推广
  • 自助网站建设平台营销网站建设流程
  • 欢迎访问陕西省交通建设集团公司网站使用 ahrefs 进行 seo 分析
  • 莱芜建设局网站seo优化效果
  • 唐山电商网站建设河南网站公司
  • 创办网站要多少钱百度关键词排名qq
  • 景德镇市建设局建设信用网站品牌推广活动有哪些
  • 上海营销咨询公司宁波seo外包
  • 怎么做网站赚流量谷歌商店app下载
  • 郑州做网站公司有多少西安网站制作建设
  • 有没有做鸭子的网站网站免费制作
  • 南京做中英文网站设计渠道推广有哪些方式
  • 男女生做羞羞事情的网站淘宝推广