龙哥网

龙哥网

Java方法形参引用传值问题(java引用类型参数的传值)
2021-12-18

    最近针对之前写的代码进行了优化,原来的一个方法上千行代码,现在根据相同的业务属性进行了提取分类。由于业务十分复杂,涉及到的各种数据字典较多,所以就存在很多数据处理和数据传递,如下图。抽取出来的方法参数非常多,如果按照常规的想法,就需要每个参数指定一个返回值,汇总到一个Map中,再将Map作为返回值传递出去。那么问题就来了,这么多参数,类型有List、Map且较为复杂,如果再用一个Map接收,还需要做数据类型转换非常的麻烦,可能还会产生新的问题。

    针对这种情况,完全可以采用java的引用传值,也就是不用返回值,直接用入参作为返回值,这样就省了返回值处理和接收的步骤。

    参考资料《堆栈详解 + 彻底理解JAVA的值传递和引用传递》

注意事项:

     1、入参不能为null,一定要先实例化,否则传递的就是null值,而不是对象的引用地址。

     2、在方法内部,不能对形参进行重新赋值引用操作,比如用=重新赋值,否则就会修改引用地址。

     3、使用List、Map的形参,进行处理数据时,可以使用Add、putAll等方法修改内容,而不是使用=重新赋值。


免责声明
本站部分资源来源于互联网 如有侵权 请联系站长删除
龙哥网是优质的互联网科技创业资源_行业项目分享_网络知识引流变现方法的平台为广大网友提供学习互联网相关知识_内容变现的方法。