📄 copyobjectarray.java
字号:
/*利用System.arraycopy对对象数组进行复制
并证明对象数组的复制是一种引用,他们指
向相同的内存空间,因此有任何一个改变,
另一个都会改变*/
class copyOBJECTarray
{
public static void main(String args[])
{
Point[] points1 = new Point[]{new Point(1,1),new Point(2,2),new Point(3,3)};
Point[] points2 = new Point[3];
System.arraycopy(points1,0,points2,0,points1.length);//arraycopy函数(源数组,源起始位置,目的数组,目的起始位置,拷贝长度)
//注意数组越界问题
for(int i = 0;i < points2.length;i++)
{
System.out.println("x="+points2[i].x+" "+"y="+points2[i].y);
}
points2[1].x=100; //证明对象数组的复制是一种引用,他们指
points2[1].y=100; //向相同的内存空间,因此有任何一个改变,
//另一个都会改变
System.out.println("当points2[1].x和points2[1].y都改为100时,");
System.out.println("points1[1].x="+points1[1].x+" "+"points1[1].y="+points1[1].y);
points1[1].x=67;
System.out.println("当此时points1[1].x在改为67时points2[1].x="+points2[1].x);
}
}
class Point
{
int x,y;
Point(int x,int y)
{
this.x=x;
this.y=y;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -