1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Java中集合list的add方法添加的不是值COPY而是地址

Java中集合list的add方法添加的不是值COPY而是地址

时间:2019-12-28 01:16:39

相关推荐

Java中集合list的add方法添加的不是值COPY而是地址

独角兽企业重金招聘Python工程师标准>>>

测试代码如下:

package test;

import java.util.ArrayList;

import java.util.List;

class Point {

int x;

int y;

public Point(int x,int y)

{

this.x = x;

this.y = y;

}

public int getX() {

return x;

}

public void setX(int x) {

this.x = x;

}

public int getY() {

return y;

}

public void setY(int y) {

this.y = y;

}

}

public class TestListAdd {

public static void main(String[] args)

{

List<Point> storePointList = new ArrayList<Point>();

Point testPoint = new Point(3,4);

storePointList.add(testPoint);

System.out.println("x = " + storePointList.get(0).getX() + ", y = " + storePointList.get(0).getY());

testPoint.setX(8);

System.out.println("x = " + storePointList.get(0).getX() + ", y = " + storePointList.get(0).getY());

}

}

结果为:

x = 3, y = 4

x = 8, y = 4

也即:

在add进storePointList之后,修改原来的testPoint 中的值,仍将改变storePointList中对应元素的值,可以看出add中()的只是传地址。

在这一点上和一般的java方法传参是一致的。一般java传参传的同样是地址。

可以总结出一个规律:在java中凡是对对象(或者说对象名)进行的传参传的都是地址。这是在方法体内部通过传进来的参数更改其下的属性可行的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。