A、for循环的话,很灵活,但是代码不够简洁.
B、System.arraycopy()源码。可以看到是native方法:native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。
可以将native方法比作Java程序同C程序的接口。
public static native void arraycopy(Object src, int srcPos,
Object dest, int destPos,int length);
C、选项有误,copyOf不是System的方法,而是Arrays的方法,下面是源码,可以看到本质上是调用的arraycopy方法。,那么其效率必然是比不上
arraycopy的
public static int[] copyOf(int[] original, int newLength) {
int[] copy = new int[newLength];
System.arraycopy(original, 0, copy, 0,
Math.min(original.length, newLength));
return copy;
}
D。clone的话,返回的是Object【】,需要强制转换。 一般用clone效率是最差的,
CD可以排除。那么AB怎么比较呢?
给出一下参考的:
http://bbs.csdn.net/topics/370151185。
http://xuyuanshuaaa.iteye.com/blog/1046621 java的system.arraycopy()方法
具体的理由不好说。不过一致的说法和实验证明是arraycopy()效率高!!!T...T