Java参数传递对象引用传递失效

产线问题排查,方法传递对象引用但返回后对象一直为空

原因:

null作为参数传递的时候,就不是引用传参了

Java参数引用传递之例外:null

众所周知的是,java中除基本类型外,参数都是引用传递。

但是,有一个例外,就是当实参为null时,其实,它依然是一个值传递。

也就是说,传参为null,不管函数体内用这个参数做了什么,跳出函数体后该参数依然是null

或者说,引用传递退化成为了值传递。

再进一步分析,其实是基本类型和指向null的非基本类型的指针,都在栈而非堆中,而引用传递的是堆内存地址。

类似的还有String类型。

参考:Java参数引用传递之例外:null

原文地址:https://www.cnblogs.com/huahua035/p/10494635.html