2 u014182579 u014182579 于 2016.03.08 15:51 提问

JAVA数组的复制采用copy方法

为什么感觉采用copy方法对源数组进行复制,为什么目标数组中长度没有变化,感觉不像是复制,而是替代目标数组中的元素?
求告知!谢谢

6个回答

Yiran8935
Yiran8935   2016.03.08 16:10

copy
public static void copy(List<? super T> dest,List<? extends T> src)
将所有元素从一个列表复制到另一个列表。执行此操作后,目标列表中每个已复制元素的索引将等同于源列表中该元素的索引。目标列表的长度至少必须等于源列表。如果目标列表更长一些,也不会影响目标列表中的其余元素。
此方法以线性时间运行。

参数:
dest - 目标列表。
src - 源列表。
目标长度如果是变化的不才是你感觉的替代目标数组么

caozhy
caozhy   Ds   Rxr 2016.03.08 15:55

复制的是数组的元素,不是数组。所以你先要创建了数组,然后去复制。

u014182579
u014182579 就是先创建的数组,然后进行复制
2 年多之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.03.08 15:55

目标数组的长度应该有变化吧,,,

rui888
rui888   Ds   Rxr 2016.03.08 16:10

你用的System下面的copy 方法吗?

u014182579
u014182579 对的
2 年多之前 回复
xsh179x
xsh179x   2016.03.08 16:37

看源码。。。。写的很清楚

luochoudan
luochoudan   Ds   Rxr 2016.03.08 16:50

数据被创建初始化之后,它的长度是不会改变的。你要复制过去的只是元素,短了无妨,超出的复制不过去。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JAVA中复制数组的五种方法
“=”,相当于将一个数组变量的引用传递给另一个数组;如果一个数组发生改变,那么引用同一数组的变量也要发生改变. 使用FOR循环,将数组的每个元素复制或者复制指定元素,不过效率差一点 使用clone方法,得到数组的值,而不是引用,不能复制指定元素,灵活性差一点 使用System.arraycopy(src, srcPos, dest, destPos, length)方法,推荐使用,效率最高 publ
java语言复制数组的四种方法
来源于牛客网的一道选择题: JAVA语言的下面几种数组复制方法中,哪个效率最高? A.for循环逐一复制 B.System.arraycopy C.System.copyof D.使用clone方法 效率:System.arraycopy > clone > Arrays.copyOf > for循环 1、System.arraycopy的用法: publi
Java - 数组拷贝的几种方式
转载自: 公众号 我是攻城狮 目前在Java中数据拷贝提供了如下方式: clone System.arraycopy Arrays.copyOf Arrays.copyOfRange 下面分别介绍他们的用法 1、clone 方法 clone方法是从Object类继承过来的,基本数据类型(String ,boolean,char,byte,short,float ,double...
Java中System.arraycopy方法的使用
System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。其函数原型是: public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) src:源数组; srcPos:源数组要复制的起始位置; dest:目的数组; destPos:目的数组放置的起
java对象拷贝之BeanUtils.copyProperties() 用法
一、简介:         BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。   二、用法:         如果你有两个具有很多相同属性的JavaBean,一个很常
java 使用arraycopy拷贝数组
byte[] data1="hello world".getBytes();         byte[] data2 = "2000".getBytes();                  byte[] data3 = new byte[data1.length+data2.length];                  System.arraycopy(data1,0,dat
关于java数组拷贝的性能
java 提供的System.arrayCopy()方法比自己写的数组copy要快.查看其源代码:public static native void arraycopy(Object src,  int  srcPos,                                        Object dest, int destPos,             
一维数组拷贝的方式:clone()方法
上一篇文章中我们总结了for循环实现数组的拷贝以及不同数据类型下的拷贝模式,本文将探讨利用clone()方法实现对数组的拷贝。 第二种一维数组的拷贝方式:clone() 方法实现数组拷贝 同样的,先看看基本数据类型的数组的拷贝: import java.util.Arrays; public class TestDemo { public static void main...
Java里面关于数组拷贝的几种方式
在java里面数组拷贝有几种方式:(1)clone(2)System.arraycopy(3)Arrays.copyOf(4)Arrays.copyOfRange下面分别介绍下他们的用法:(1)clone方法是从Object类继承过来的,基本数据类型(String,boolean,char,byte,short,float,double.long)都可以直接使用clone方法进行克隆,注意Stri...
Java数组拷贝的四种方法
Java数组拷贝java数组拷贝主要有四种方法,分别是循环赋值,System.arraycopy(),Arrays.copyOf()(或者Arrays.copyOfRange)和clone()方法。下面分别介绍一下这几种拷贝。循环拷贝(速度相对比较慢)循环拷贝其实没什么好说的啦,就是用一个for循环进行元素的逐个拷贝,进行深拷贝或者浅复制这个大家可以自己把握。System.arraycopy(浅拷贝