我试图制作一个数组的独立副本,但无法获得一个.看到我无法使用for循环将整数复制整数,因为效率原因.还有其他方法吗?这是我的代码:
int[] temp = new int[arr.length];
temp = arr;
Run Code Online (Sandbox Code Playgroud)
Cha*_*kar 20
看System.arraycopy()方法.喜欢,
int[] b = new int[a.length];
System.arraycopy(a, 0, b, 0, a.length);
Run Code Online (Sandbox Code Playgroud)
尝试使用clone ()方法来达到此目的.我记得这是唯一一个有效Java中的Josh Bloch建议使用克隆的情况.
int[] temp = arr.clone ();
Run Code Online (Sandbox Code Playgroud)
但是arrayCopy要快得多.对3,000,000个元素的数组进行样本性能测试:
System.arrayCopy time: 8ms
arr.clone() time: 29ms
Arrays.copyOf() time: 49ms
simple for-loop time: 75ms
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13061 次 |
| 最近记录: |