java System.arrayCopy使用说明

java.lang.System.arraycopy() 方法复制指定的源数组的数组,在指定的位置开始,到目标数组的指定位置。

下面是 System.arrayCopy的源代码声明 :

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)代码解释:  Object src : 原数组   int srcPos : 从元数据的起始位置开始  Object dest : 目标数组  int destPos : 目标数组的开始起始位置  int length  : 要copy的数组的长度

比如 :我们有一个数组数据 byte[]  srcBytes = new byte[]{2,4,0,0,0,0,0,10,15,50};  // 源数组

byte[] destBytes = new byte[5]; // 目标数组

我们使用System.arraycopy进行转换(copy)

System.arrayCopy(srcBytes,0,destBytes ,0,5)上面这段代码就是 : 创建一个一维空数组,数组的总长度为 12位,然后将srcBytes源数组中 从0位 到 第5位之间的数值 copy 到 destBytes目标数组中,在目标数组的第0位开始放置.那么这行代码的运行效果应该是 2,4,0,0,0,我们来运行一下 
1         byte[]  srcBytes = new byte[]{2,4,0,0,0,0,0,10,15,50};
2         byte[] destBytes = new byte[5];
3         System.arraycopy(srcBytes, 0, destBytes, 0, 5);
4         for(int i = 0;i< destBytes.length;i++){
5             System.out.print("-> " + destBytes[i]);
6         } 

运行结果  : -> 2-> 4-> 0-> 0-> 0

时间: 2024-10-09 00:02:22

java System.arrayCopy使用说明的相关文章

Java System.arraycopy

System.arraycopy方法:如果是数组比较大,那么使用System.arraycopy会比较有优势,因为其使用的是内存复制,省去了大量的数组寻址访问等时间 public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length); 复制指定源数组src到目标数组dest.复制从src的srcPos索引开始,复制的个数是length,复制到dest的索引从destPo

JAVA System.arraycopy 和Arrays.copyof 效率比较

System.arraycopy()源码.可以看到是native方法: native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中. 可以将native方法比作Java程序同C程序的接口. public static native void arraycopy(Object src, int srcPos, Object dest, int destPos,int length); copyOf,下面是源码,可以看到本质上是调用

android 布局页面文件出错故障排除Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V

今天在看布局文件的时候出现 android 布局页面文件出错故障排除Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V 提醒,google后在网上说是因为sdk版本的问题. 解决方法: 修改选择不同的API就好了,降低版本即可

How to solve Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V in Android

android开发打开别人的项目的时候,手机面板上的控件有时候不能显示,还显示错误信息: Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V Exception details are logged in Window > Show View > Error Log 原因是目前采用的API版本与原来的API版本不匹配,把API版本改一下即可.

Android的布局文件遇到Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V问题

打开xml的布局文件,发现布局无法显示预览,而且报错:Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V.原来是因为用了最新的API 20.这个是Android用于开发可穿戴设备的,不支持EditText.将API改为20之前的就行了.

java 之System.arraycopy() vs arrays.copyOf()

在java中,数组的复制可以有System.arraycopy与arrays.copyOf()两种选择,下面就详细介绍一下这两种方法的差别: System.arraycopy int[] src = {1,2,3,4,5}; int[] des = new int[10]; System.arraycopy(arr, 0, copied, 1, 5); //5 is the length to copy System.out.println(Arrays.toString(des)); 输出结果

Android - Exception raised during rendering: java.lang.System.arraycopy

Exception raised during rendering: java.lang.System.arraycopy 本文地址: http://blog.csdn.net/caroline_wendy Error: Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V 错误导致UI无法显示,原因是Android的SDK使用Level20的可穿戴版本,下载其它的SDK即可. 基本原因是Android S

ECLIPSE android 布局页面文件出错故障排除Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V

在布局添加控件手动添加还是拖的添加,添加edittext后布局就不好用,其他控件好用,然后就说下面这段话 Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V Exception details are logged in Window > Show View > Error Log Check the "Android version to use when rendering layouts

java数组的拷贝四种方法:for、clone、System.arraycopy、arrays.copyof

public class ArrayCopy{ public static void main(String []args){ int []a = {1,3,4,5}; toPrint(a); int []aFor=new int[a.length]; //1.for循环复制 System.out.println("===========1.使用for复制"); for(int i=0;i<a.length;i++){ aFor[i]=a[i]; } aFor[2]=10;//改