java - 在 Java 中复制大型数组的最有效方法

标签 java android performance

我想复制一个大的整数数组,例如从数组 a 到数组 b。我找到了几种方法来做到这一点,包括:

int[] a = new int[]{1,2,3,4,5};
int[] b = new int[5];

System.arraycopy( a, 0, b, 0, a.length );

int[] a = new int[]{1,2,3,4,5};
int[] b = (int[])a.clone();

由于这是在移动设备上完成的,我希望能够最有效地完成。

请告诉我最好的方法。

最佳答案

System.arraycopy 是更好的方法。

原因:它是通过本地代码实现的,因此效率更高。 Josh Bloch 建议(在 Effective Java 中)避免使用 clone() 方法来复制/克隆对象。

请引用:Effective Java: Analysis of the clone() method

关于java - 在 Java 中复制大型数组的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14723748/

相关文章:

java - JMX MBean - 在 getter 和 setter 上同步

java - Geotools坐标变换

Java 和谷歌 Protocol Buffer : Does anyone have a simple example of getting started with this?

java - 即使将 .jar 文件添加到类路径和依赖项中,JDBC 也找不到合适的驱动程序

c++ - 两个几乎相同的循环中的性能差异

c - 优化一个c函数去掉compare

java - 如何在 MongoDb 中使用 jackson 将日期字段存储为 ISODate()

android - 反方向射击? - AndEngine经典教程

android - 首选项屏幕中 EditText 的输入类型?

android - 为什么android模拟器不断增加 "Size on Disk"?