值传递、引用传递

来源:互联网 发布:ida软件 编辑:程序博客网 时间:2024/05/18 02:28

1、java中参数是按值而不是按引用传递的,在 Java 应用程序中有且仅有的一种参数传递机制,即按值传递。

2、Java 应用程序中的变量可以为以下两种类型之一:引用类型或基本类型。当作为参数传递给一个方法时,处理这两种类型的方式是相同的。两种类型都是按值传递的;没有一种按引用传递。

对于上面的话我一直不明白,经查阅资料发现:

我们经常看到对于对象(数组,类,接口)的传递似乎有点像引用传递,可以改变对象中某个属性的值;实际上这个传入函数的值是对象引用的拷贝,即传递的是引用的地址值,所以还是按值传递

按值传递和按引用传递。按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本。因此,如果函数修改了该参数,仅改变副本,而原始值保持不变。按引用传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的内存地址,而不是值的副本。因此,如果函数修改了该参数,调用代码中的原始值也随之改变。


注意点:1、对象是按引用传递的

                2、基本类型是按值传递的

                3、java中的String类型虽然也为一个对象,但是在赋值传递的时候,走的是值传递的路线,

                     和一般数据类型  是同样的,String为一个特例。

例如:

因为list是个对象,作为引用传递的,所以我可以先向map(map_patientInfo)中放入list,然后在想list中赋值

0 0
原创粉丝点击