Java中如果说你想把一个数组的值完全覆盖给另一个数组,你当然可以使用for循环一个一个来,但是Arrays类已经提供了一个方法了,为什么还要写行for循环呢?
Arrays.copyOf方法
Arrays.copyOf(array, to_index);
Arrays.fill(array, from_index, to_index);
第一个方法其实就是返回一个数组,而这个数组就等于数组array的前to_index个数,也就是array[0] ~ array[to_index - 1]。
而第二种方法也只是加了一个初始的位置,即返回一个数组等于array[from_index] ~ array[to_index - 1]。
这里要注意一下,不管是上面哪种使用方法,都务必记住时不包含array[to_index]这个数。
还有一点差点忘了说了,这里得提前导入Arrays类,即在开头写如下代码
import java.utl.Arrays;
代码
package base;
import java.util.Arrays;
public class Arrays_copyOf
{
public static void main(String[] args)
{
int a[] = {4, 3, 6, 5, 1, 2};
int b[] = Arrays.copyOf(a, 4);
int c[] = Arrays.copyOfRange(a, 2, 4 + 1);
for (int i = 0; i < b.length; i++)
System.out.print(b[i] + " ");
System.out.println();
for (int i = 0; i < c.length; i++)
System.out.print(c[i] + " ");
System.out.println();
}
}