導航:首頁 > 編程語言 > java引用數組

java引用數組

發布時間:2025-08-25 21:19:00

① 咨詢java高手,對象數組作為方法參數時的引用傳遞的問題

方法一其實也是按引用傳遞,但是千萬千萬要注意,你要修改的是「對象的值」,而不是「對象引用的值」。形參和實參對應的是對象的引用地址,所以這句寫得很有問題: str1=str2;
你這里是試圖將str1的值用str2代替, 但是這里的str1是形參,當外面傳入了一個實參的對象引用是,你只是將內部的形參的引用改掉了,而沒有修改實參的內容...這樣在內部是把str1,str2對調了,但是外部實參的對象引用沒有變,還是原來的值。

如果要把該方法生效,可以修改方法1如下:

public void SwapString1(StringBuffer str1, StringBuffer str2) {
StringBuffer str3 = new StringBuffer();
str3.append(str1.toString());
str1.replace(0, str2.toString().length(), str2.toString());
str2.replace(0, str3.toString().length(), str3.toString());
}
str1=str2;

② Java 為什麼字元數組名無法作為引用來傳遞

因為你在 deleteRepeats方法中 charArr=str.toCharArray();這一步進行的時候,他根本不是在原有數組上進行修改,而是將方法內的局部變數charArr指向了一個數組,這個數組是toCharArray()生成的。而原有的數組自然是不變。

誤區1.你以為charArr是一個對象,其實charArr只是一個引用。charArr=str.toCharArray();改變的是引用,沒有改變引用指向的對象。
=運算符,只改變了引用,沒有改變任何對象,原數組沒有改變,新數組也不是=運算符生成的。

誤區2.你以為方法內的charArr和main中的charArr是一個引用,其實他們是兩個引用只不過,一開始指向一個數組,charArr=str.toCharArray();執行過之後,改變了deleteRepeats方法charArr引用。 使其指向了一個新數組。

閱讀全文

與java引用數組相關的資料

熱點內容
網路中常用的傳輸介質 瀏覽:518
文件如何使用 瀏覽:322
同步推密碼找回 瀏覽:865
樂高怎麼才能用電腦編程序 瀏覽:65
本機qq文件為什麼找不到 瀏覽:264
安卓qq空間免升級 瀏覽:490
linux如何刪除模塊驅動程序 瀏覽:193
at89c51c程序 瀏覽:329
怎麼創建word大綱文件 瀏覽:622
裊裊朗誦文件生成器 瀏覽:626
1054件文件是多少gb 瀏覽:371
高州禁養區內能養豬多少頭的文件 瀏覽:927
win8ico文件 瀏覽:949
仁和數控怎麼編程 瀏覽:381
項目文件夾圖片 瀏覽:87
怎麼在東芝電視安裝app 瀏覽:954
plc顯示數字怎麼編程 瀏覽:439
如何辨別假網站 瀏覽:711
寬頻用別人的賬號密碼 瀏覽:556
新app如何佔有市場 瀏覽:42

友情鏈接