在上篇ArrayList.sort()方法中可以看到,对于ArrayList直接执行方法的话ArrayList内容随之改变

让我回忆到有一次leetcode的题目写到关于引用类型的操作

如果是基本类型,我在函数外定义基本类型如 int a = 0;

a再作为函数的参数执行函数

那么在函数体内进行的一系列对a的赋值,对a有影响么?

答案是肯定没有影响

那如果是ArrayList对象作为参数,函数体内各种add,remove操作,会有影响么?

结果是ArrayList对象被改变。

 

基本类型传递都是值传递

引用类型的无论是作为参数,还是等号“=”,都是传地址,地址值改变,只要指向这个地址的所有引用随之改变

posted on 2019-11-30 10:04  寺川愛美  阅读(97)  评论(0编辑  收藏  举报