1、java中参数是按值而不是按引用传递的,在 Java 应用程序中有且仅有的一种参数传递机制,即按值传递。
2、Java 应用程序中的变量可以为以下两种类型之一:引用类型或基本类型。当作为参数传递给一个方法时,处理这两种类型的方式是相同的。两种类型都是按值传递的;没有一种按引用传递。
对于上面的话我一直不明白,经查阅资料发现:
我们经常看到对于对象(数组,类,接口)的传递似乎有点像引用传递,可以改变对象中某个属性的值;实际上这个传入函数的值是对象引用的拷贝,即传递的是引用的地址值,所以还是按值传递。
按值传递和按引用传递。按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本。因此,如果函数修改了该参数,仅改变副本,而原始值保持不变。按引用传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的内存地址,而不是值的副本。因此,如果函数修改了该参数,调用代码中的原始值也随之改变。
注意点:1、对象是按引用传递的
2、基本类型是按值传递的
3、java中的String类型虽然也为一个对象,但是在赋值传递的时候,走的是值传递的路线,
和一般数据类型 是同样的,String为一个特例。
例如:
因为list是个对象,作为引用传递的,所以我可以先向map(map_patientInfo)中放入list,然后在想list中赋值