Java方法形参引用传值问题

原创  郑建华   2020-12-10   275人阅读  0 条评论

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

image.png

image.png

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

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

注意事项:

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

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

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

image.png

image.png

本文地址:https://www.zjh336.cn/?id=2014
版权声明:本文为原创文章,版权归 郑建华 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?