Java里的值传递和引用传递的区别

        18年写了一个分页的功能,今天引用了这个功能,在controller里,pager只是添加了当前页的属性,获取到该也的数据后,就直接返回给页面了。但是前台页面显示却是正常的,感觉很奇怪。专门看了自己以前的代码,发现原来我把pager传给了Service处理好了,总页数和总行数都在这里封装到pager里了,只是在controller里没有接收的pager而已。这里用到的就是引用传递。

        值传递,传递的是实际值。基本数据类型和String,都属于值传递。例如:


这里打印的结果是0

          引用传递,传递的是指向地址,例如这里传递的是new出来的这个user所指向的地址,test()修改的是user的实际地址的值。就像给你一把保险柜的钥匙,你更换了保险柜里的东西,下一个得到这把钥匙的人,取保险柜里东西的时候,只能取到你更换后的东西。

这里打印的结果是李四

      

你可能感兴趣的:(Java里的值传递和引用传递的区别)