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

 

原因:

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

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

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

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

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

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

类似的还有String类型。

 

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

相关文章:

  • 2021-12-09
  • 2021-11-29
  • 2021-11-28
  • 2021-03-12
猜你喜欢
  • 2021-11-10
  • 2021-05-25
  • 2022-12-23
  • 2021-09-14
  • 2021-10-31
  • 2022-01-24
相关资源
相似解决方案