使用java語言實(shí)現(xiàn)Swap函數(shù),該函數(shù)用于交換兩個(gè)Integer類型
2 回答

慕婉清6462132
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
關(guān)鍵是要傳引用,但java又不支持&,所以可以考慮傳數(shù)組或是對(duì)象,例如外部內(nèi)聯(lián)方式

慕絲7291255
TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
C/C++中swap功能的本質(zhì):通過傳遞變量地址(指針或引用)來交換變量地址中的值。
Java標(biāo)榜其中對(duì)C/C++一個(gè)很大的改進(jìn)就是:Java對(duì)程序員屏蔽了變量地址的概念,減少指針誤用。
在Java世界中函數(shù)或者叫方法的入?yún)⒍际峭ㄟ^值拷貝的方式進(jìn)行傳遞:
原始類型(char,int,double等)都是通過直接拷貝變量值傳參;
對(duì)象類型都是通過引用拷貝(跟C++中引用不同)傳參,通過該引用能夠更改其指向的對(duì)象內(nèi)部值,但是更改該引用值,僅對(duì)函數(shù)內(nèi)部可見,函數(shù)外部的實(shí)參依然沒有改變;
所以正常來說,Java不能實(shí)現(xiàn)C/C++中的swap功能。
添加回答
舉報(bào)
0/150
提交
取消