最近遇到了一个bug,在debug条件下可以看出更改后的值,但是在最终显示的结果中确实没有更改的值。经过很多次的调试后,才发现最后的原因竟然是因为参数传递的时候并没有将更改后的值传递给最终变量。
这时才意识到java中只存在值传递,不存在引用传递。这也就意味着传递的参数只是原来对象的拷贝,对于参数的改变并不会影响原来对象的值。所以想在一个方法中改变另一个类的对象,不能仅仅通过传入对象作为参数,还需要将更改后的值进行回传或者在一开始就导入整个对象,这样最终的结果才是正确的。
最近遇到了一个bug,在debug条件下可以看出更改后的值,但是在最终显示的结果中确实没有更改的值。经过很多次的调试后,才发现最后的原因竟然是因为参数传递的时候并没有将更改后的值传递给最终变量。
这时才意识到java中只存在值传递,不存在引用传递。这也就意味着传递的参数只是原来对象的拷贝,对于参数的改变并不会影响原来对象的值。所以想在一个方法中改变另一个类的对象,不能仅仅通过传入对象作为参数,还需要将更改后的值进行回传或者在一开始就导入整个对象,这样最终的结果才是正确的。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457010.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!