System.arraycopy()实现数组之间的复制
2017-09-20 11:19
405 查看
一、System.arraycopy()方法实现复制
1、System中提供了一个native静态方法arraycopy(),可以使用这个方法来实现数组之间的复制。对于一维数组来说,这种复制属性值传递,修改副本不会影响原来的值。对于二维或者一维数组中存放的是对象时,复制结果是一维的引用变量传递给副本的一维数组,修改副本时,会影响原来的数组。2、System.arraycopy的函数原型是:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
其中:src表示源数组,srcPos表示源数组要复制的起始位置,desc表示目标数组,destPos:目标数组放置的起始位置,length表示要复制的长度。
二、利用System.arraycopy实现数组复制的示例:
将文本读到bytes[]中,如果文件小于bytes[]中初始化的长度,将实际读取的len长度动态赋值给dest[]长度,然后将bytes[]拷贝到dest[]中
public static byte[] getBytes() {FileInputStream fis = null;
byte[] bytes = new byte[1024];
byte[] dest = null;
try {
fis = new FileInputStream("a.text");
int len = 0;
if ((len = fis.read(bytes)) != -1) {
dest = new byte[len];
System.arraycopy(bytes, 0, dest, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return dest;
}
相关文章推荐
- Java—使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制
- 使用System.arraycopy()实现数组之间的复制