System.arraycopy的用法(在线等待) 就象他的名字一样,copy 一个新的array 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java的一个方法,该方法用本地操作把一个数组复制到另一个数组 我想仔细看一下JDK的文档,总比在这里等的好! String[] aLook = null;String[] temp = null;for (int i = 0; i < temp.length; i++ ){ aLook[i] = temp[i];}----------------------------------------------System.arraycopy(temp,0,aLook.length); 在javaGuide中建议使用该方法来进行数组的copy而不是用for,效率更高!推荐看看effectjavapublic class FixedSample{ int[] copyArray(int[] array){ int length = array.length; int[] copy = new int[length]; System.arraycopy(array, 0, copy, 0, length); return copy; } }数组复制的例子! 对于开发经验不足的人来说,很少知道System.arraycopy的。所以推荐看一下,高效java的书。 System.arraycopy(源array,源array开始索引,目的array,目的array开始索引) public test(String[] b){ qty = b.length; names = new String[qty]; System.arraycopy(b,0,names,0, qty); } public static native void arraycopy(Object src, int src_position, Object dst, int dst_position, int length)把指定的源数组中起始于指定位置的一个数组复制到目标数组的指定位置。 一个数组元素子序列将从用 src 引用的源数组复制到用 dst 引用的目的数组。 复制的元素数等于 length 参数。 源数组中从位置 srcOffset 到 srcOffset+length-1 的元素将被一个一个地复制到目标数组中从 dstOffset 到 dstOffset+length-1 的位置。 如果 src 和 dst 参数引用的是相同的数组对象, 则复制的执行就好象是把从位置 srcOffset 到 srcOffset+length-1 的元素先复制到一个长度为 length 的临时数组中,然后在把临时数组中的内容复制到参数数组中从 dstOffset 到 dstOffset+length-1 的位置。 如果下列情况中任何一个为 true ,将抛出 ArrayStoreException ,并且不修改目标: src 参数所指的对象不是一个数组。 dst 参数所指的对象不是一个数组。 src 参数和 dst 参数所指的数组的元素类型是不同的原始类型。 src 参数所指的元素类型是基本类型而参数 dst 所指的是一个引用类型的数组。 src 参数所指的数组元素是引用类型而参数 dst 所指的是一个基本元素类型的数组。 否则,如果下列情况中任何一个为 true ,将抛出 ArrayIndexOutOfBoundsException ,并且不修改目标: srcOffset 参数为负数。 dstOffset 参数为负数。 length 参数为负数。 srcOffset+length 大于 src.length 源数组的长度。 dstOffset+length 大于 dst.length 目标数组的长度。 否则,如果源数组中任何从位置 srcOffset 到 srcOffset+length-1 的元素不能转换为目标数组的元素类型,则抛出 ArrayStoreException 。 在这种情况下,使 k 成为小于 length 的最小非负整数以使 src[srcOffset+k] 不能被转换为目标数组的元素类型; 当抛出异常时,源数组中从位置 srcOffset 到 srcOffset+k-1 的元素已被复制到目标数组中从 dstOffset 到 dstOffset+k-1 的位置,并且目标数组中其它位置未被改动。 参数: src; - 源数组。 srcpos - 源数组的开始位置。 dest - 目标数组。 destpos - 目标数组的开始位置。 length - 要复制的数组元素个数。 抛出: ArrayIndexOutOfBoundsException 如果复制导致存取超出数组边界。 抛出: ArrayStoreException 如果因为类型不匹配的原因而使得 src 数组中的一个元素不能存储到 dest 数组中。 楼主:留下你的email,我给你份java API 谢谢zxs790501(沧海一粟)我的Email是[email protected] 验证数学表达式合法,高手进 怎样设置Netbeans6.8组件运行后的显示的字体? 好心的前辈请帮帮忙,我有个问题不理解 急需帮助~~ 希望大家推荐一下好的JAVA的源程序或开源项目 java泛型问题 请问JAVA打印中,如何在按下打印对话框确定按钮之后,获取应用选择的打印介质的尺寸? 有关跨平台的问题!!! 使用文本文件,存储用户验证信息的问题? Java中Server的线程问题 关于ArrayList和Iterator的问题!(急!请高人们尽快给与答复...) 线程基础问题,如何暂停以及唤醒一个线程
String[] temp = null;for (int i = 0; i < temp.length; i++ ){
aLook[i] = temp[i];
}----------------------------------------------
System.arraycopy(temp,0,aLook.length);
public class FixedSample{
int[] copyArray(int[] array){
int length = array.length;
int[] copy = new int[length];
System.arraycopy(array, 0,
copy, 0, length);
return copy;
}
}
数组复制的例子!
qty = b.length;
names = new String[qty];
System.arraycopy(b,0,names,0, qty);
}
int src_position,
Object dst,
int dst_position,
int length)把指定的源数组中起始于指定位置的一个数组复制到目标数组的指定位置。 一个数组元素子序列将从用 src 引用的源数组复制到用 dst 引用的目的数组。 复制的元素数等于 length 参数。 源数组中从位置 srcOffset 到 srcOffset+length-1 的元素将被一个一个地复制到目标数组中从 dstOffset 到 dstOffset+length-1 的位置。
如果 src 和 dst 参数引用的是相同的数组对象, 则复制的执行就好象是把从位置 srcOffset 到 srcOffset+length-1 的元素先复制到一个长度为 length 的临时数组中,然后在把临时数组中的内容复制到参数数组中从 dstOffset 到 dstOffset+length-1 的位置。 如果下列情况中任何一个为 true ,将抛出 ArrayStoreException ,并且不修改目标: src 参数所指的对象不是一个数组。
dst 参数所指的对象不是一个数组。
src 参数和 dst 参数所指的数组的元素类型是不同的原始类型。
src 参数所指的元素类型是基本类型而参数 dst 所指的是一个引用类型的数组。
src 参数所指的数组元素是引用类型而参数 dst 所指的是一个基本元素类型的数组。
否则,如果下列情况中任何一个为 true ,将抛出 ArrayIndexOutOfBoundsException ,并且不修改目标: srcOffset 参数为负数。
dstOffset 参数为负数。
length 参数为负数。
srcOffset+length 大于 src.length 源数组的长度。
dstOffset+length 大于 dst.length 目标数组的长度。
否则,如果源数组中任何从位置 srcOffset 到 srcOffset+length-1 的元素不能转换为目标数组的元素类型,则抛出 ArrayStoreException 。 在这种情况下,使 k 成为小于 length 的最小非负整数以使 src[srcOffset+k] 不能被转换为目标数组的元素类型; 当抛出异常时,源数组中从位置 srcOffset 到 srcOffset+k-1 的元素已被复制到目标数组中从 dstOffset 到 dstOffset+k-1 的位置,并且目标数组中其它位置未被改动。
参数:
src; - 源数组。
srcpos - 源数组的开始位置。
dest - 目标数组。
destpos - 目标数组的开始位置。
length - 要复制的数组元素个数。
抛出: ArrayIndexOutOfBoundsException
如果复制导致存取超出数组边界。
抛出: ArrayStoreException
如果因为类型不匹配的原因而使得 src 数组中的一个元素不能存储到 dest 数组中。
留下你的email,我给你份java API
我的Email是[email protected]