让数组2出现与数组1相同的内容有两种方法:
(1)赋值:
public class lian7 {
public static void main(String[] args) {
String[] arr1=new String[] {"金","木","水","火","土"};
String[] arr2=new String[5];
for(int i=0;i<arr1.length;i++)
{
arr2[i]=arr1[i];//数组复制
System.out.println(arr2[i]);
}
}
}
复制就是利用循环让数组arr2与arr1每一个元素都对应相等即可。
(2)复制:
public class lian6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr1,arr2;
arr2=new int[8];
arr1=new int[]{2,3,5,7,11,13,17,19};
for(int i=0;i<arr1.length;i++)
{
System.out.print(arr1[i]+"\t");
}
System.out.println();
arr2=arr1;//这一步赋值注意顺序,看清是谁的值赋给了谁。
for(int i=0;i<arr2.length;i++)
{
if(i%2==0)
{
arr2[i]=i;
}
}
for(int i=0;i<arr1.length;i++) {
System.out.print(arr1[i]+"\t");
}
}
}
而赋值不需要利用循环,直接输入arr2=arr1即可。
(3)相同点:
1.都可以使一个空白的数组可以输出原本数组一样的结果。
2.都是用arr2=arr1去赋值(复制)。
(4)不同点:
1.赋值相当于新数组中储存的是一个通往旧数组的通道,实际输出的还是旧数组,当你更改新数组时,再输出会发现旧数组也发生了改变。
2.复制相当于将原来的数组抄下来,放在arr2中形成一个新数组。这个数组除了与原数组内元素相同外没其他任何关系,更原数组不会有任何变化。
3.复制过程需要利用循环,将两个数组内一一对应,而赋值只需要有将原数组赋给新数组的语言即可,如:arr2=arr1;
(5)注意:无论是赋值还是复制,都要看清新旧数组的顺序,注意是将谁赋给了谁。