摘要:經(jīng)過很多次的調(diào)試后,才發(fā)現(xiàn)最后的原因竟然是因為參數(shù)傳遞的時候并沒有將更改后的值傳遞給最終變量。這時才意識到中只存在值傳遞,不存在引用傳遞。這也就意味著傳遞的參數(shù)只是原來對象的拷貝,對于參數(shù)的改變并不會影響原來對象的值。
??最近遇到了一個bug,在debug條件下可以看出更改后的值,但是在最終顯示的結(jié)果中確實沒有更改的值。經(jīng)過很多次的調(diào)試后,才發(fā)現(xiàn)最后的原因竟然是因為參數(shù)傳遞的時候并沒有將更改后的值傳遞給最終變量。
??這時才意識到java中只存在值傳遞,不存在引用傳遞。這也就意味著傳遞的參數(shù)只是原來對象的拷貝,對于參數(shù)的改變并不會影響原來對象的值。所以想在一個方法中改變另一個類的對象,不能僅僅通過傳入對象作為參數(shù),還需要將更改后的值進(jìn)行回傳或者在一開始就導(dǎo)入整個對象,這樣最終的結(jié)果才是正確的。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/66791.html
閱讀 867·2021-11-25 09:44
閱讀 1086·2021-11-19 09:40
閱讀 7113·2021-09-07 10:23
閱讀 1988·2019-08-28 17:51
閱讀 1117·2019-08-26 10:59
閱讀 1939·2019-08-26 10:25
閱讀 3149·2019-08-23 18:22
閱讀 872·2019-08-23 16:58