首先,想到这个知识点,是因为刷到一个做面试的视频,视频中提到了这个问题,觉得忘记了,所以过来记录一下。
这个知识点如果长时间不去触及,很快就会忘记了,首先说明:java里参数是值传递。
- 值传递:方法之间传的参数是具体的值,这个参数值改了之后,不会影响源参数值的变化。
- 引用传递:方法之间的参数传递的是一个引用地址,如果参数值发生变化,源参数值也会一起变化。
举例:
- java中的list集合,如果list里面存的是一个java实体类,那么通过list.get(i)的方式拿到的类,修改类属性值后,不需要再list.set(i)赋值,list的值会自己变为最新的,这个就相当于引用传递了。
- 值传递相信就不用多说了,方法从上游接入的参数值,比如是5,你在这个方法重新赋值为10,那么这个参数值就是10了,和上游传的参数值是多少完全没关系了,也不会改变上游的参数值。