java arraycopy拷贝问题
importjava.util.*;classTest{publicstaticvoidmain(Stringargs[]){int[]i1=newint[5];int[...
import java.util.*;
class Test
{
public static void main(String args[])
{
int[] i1 = new int[5];
int[] i2 = new int[5];
Arrays.fill(i1,3);
System.arraycopy(i1,0,i2,0,i2.length);
for(int i = 0;i < 5;i ++)
{
System.out.println("i2["+ i +"]="+ i2[i]);
}
Arrays.fill(i1,5);
for(int i = 0;i < 5;i ++)
{
System.out.println("i2["+ i +"]="+ i2[i]);
}
Integer[] I1 = new Integer[5];
Integer[] I2 = new Integer[5];
Arrays.fill(I1,new Integer(1));
System.arraycopy(I1,0,I2,0,I2.length);
for(int i = 0;i < 5;i ++)
{
System.out.println("I2["+ i +"]="+ I2[i]);
}
Arrays.fill(I1,new Integer(7));
for(int i = 0;i < 5;i ++)
{
System.out.println("I2["+ i +"]="+ I2[i]);
}
}
}
/*书上说对于基本的数据类型,拷贝的是其值,而对于引用类型的数据拷贝的是
他门的引用,为什么对于后者的包装器的类型拷贝后结果还是,没有改变呢?*/ 展开
class Test
{
public static void main(String args[])
{
int[] i1 = new int[5];
int[] i2 = new int[5];
Arrays.fill(i1,3);
System.arraycopy(i1,0,i2,0,i2.length);
for(int i = 0;i < 5;i ++)
{
System.out.println("i2["+ i +"]="+ i2[i]);
}
Arrays.fill(i1,5);
for(int i = 0;i < 5;i ++)
{
System.out.println("i2["+ i +"]="+ i2[i]);
}
Integer[] I1 = new Integer[5];
Integer[] I2 = new Integer[5];
Arrays.fill(I1,new Integer(1));
System.arraycopy(I1,0,I2,0,I2.length);
for(int i = 0;i < 5;i ++)
{
System.out.println("I2["+ i +"]="+ I2[i]);
}
Arrays.fill(I1,new Integer(7));
for(int i = 0;i < 5;i ++)
{
System.out.println("I2["+ i +"]="+ I2[i]);
}
}
}
/*书上说对于基本的数据类型,拷贝的是其值,而对于引用类型的数据拷贝的是
他门的引用,为什么对于后者的包装器的类型拷贝后结果还是,没有改变呢?*/ 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询