使用System.arraycopy()实现数组之间的复制

简介: System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。其函数原型是:public static void arraycopy(Object src, int srcPos, ...
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};
实现过程是这样的,先生成一个长度为length的临时数组,将fun数组中srcPos 
到srcPos+length-1之间的数据拷贝到临时数组中,再执行System.arraycopy(临时数组,0,fun,3,3).
相关文章
|
安全 网络协议 网络安全
UDP Flood是什么?及其防护方法
UDP Flood是互联网上最经典的DDoS(Distributed Denial of Service)攻击之一。攻击者在短时间内向目标设备发送大量的UDP报文,导致链路拥塞甚至网络瘫痪。一般的UDP报文由攻击工具伪造,通常在数据段具备相同的特征,另一部分由真实网络设备发出的UDP报文,虽然数据段不相同,但固定的目的端口也可作为一种特征。 确定UDP攻击报文的特征后,即可根据特征进行过滤。特征过滤就是常说的指纹过滤,可根据攻击报文的特征,自定义过滤属性。指纹过滤包括静态指纹过滤和动态指纹学习两种方法。
UDP Flood是什么?及其防护方法
|
SQL 存储 算法
ClickHouse性能优化 3
ClickHouse性能优化
787 0
|
网络协议 小程序 对象存储
阿里云加了防盗链,小程序白名单如何填写
一、场景 场景一:我的阿里云服务器,做了图片连接的防盗链,需要添加域名白名单图片才可显示出来 场景二:我们的使用场景是这样的,DNS解析至阿里云的CND,CDN的回源指向阿里云的OSS
1312 1
|
10月前
|
缓存 Linux 数据库
CentOS 8中 更新或下载时报错:为仓库 ‘appstream‘ 下载元数据失败 : Cannot prepare internal
通过以上步骤,您可以有效地解决 CentOS 8 中“为仓库 ‘appstream’ 下载元数据失败 : Cannot prepare internal”问题。关键在于检查网络连接、更新和切换仓库配置、清理缓存、重建 RPM 数据库以及在必要时临时禁用有问题的仓库。通过这些方法,可以确保系统能够正常进行软件包的更新和下载操作。
2834 20
|
缓存 监控 网络协议
微服务系列:服务注册与发现原理详解
本文详细解析了微服务架构中的服务注册与发现原理,大厂面试高频,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
微服务系列:服务注册与发现原理详解
|
Docker 容器
Docker数据卷挂载
这篇文章讲解了如何在Docker中使用数据卷挂载来持久化容器数据,并提供了相关命令和操作步骤。
237 0
|
Docker 容器
docker设置国内镜像源
docker设置国内镜像源
37312 5
|
Kubernetes 应用服务中间件 nginx
Kubernetes(k8s)容器编排Pod介绍和使用
Kubernetes(k8s)容器编排Pod介绍和使用
526 0
|
Windows
Multisim 14简易三人抢答器电路设计
Multisim 14简易三人抢答器电路设计
878 1