日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

關于Java引用傳遞的一個困惑?

瀏覽:330日期:2024-02-11 10:00:41

問題描述

public static void swapEqual(int[] a,int[] b){int[] temp=new int[b.length];temp=b;b=a;a=temp; } public static void main(String[] args) {// TODO Auto-generated method stubint[] c={1,2};int[] d={3,4};swapEqual(c,d);System.out.println(c[1]); }

為什么打印出來的C[1]還是原來的2啊,為什么沒有交換。數組的=不就是復制引用嗎?通過函數可以把a,b的引用交換,這樣不就是把內容交換了嗎?干嘛非要這樣寫?

public static void swap(int[] a,int[] b){ int[] temp=new int[b.length]; for(int i=0;i<b.length;i++){temp[i]=b[i]; } for(int i=0;i<b.length;i++){b[i]=a[i]; } for(int i=0;i<b.length;i++){a[i]=temp[i]; }}

這樣子我試了一下,就可以達到交換的目的了好困惑啊,求解!!

問題解答

回答1:

swapEqual(int[] a,int[] b)中:一開始:a --> {1,2}(地址1)b --> {3,4}(地址2)經過你的代碼處理(a,b指向的地址交換了):b --> {1,2}(地址1)a --> {3,4}(地址2)但是不會對c,d造成影響,c,d依舊是:c --> {1,2}(地址1)d --> {3,4}(地址2)

//=================================

swap(int[] a,int[] b)中:一開始:a --> {1,2}(地址1)b --> {3,4}(地址2)經過你的代碼處理(地址1,2中的值交換了):a --> {3,4}(地址1)b --> {1,2}(地址2)雖然不會對c,d指向的地址造成影響,但是原本地址下的值已經改變了:c --> {3,4}(地址1)d --> {1,2}(地址2)

//=======================================

我的理解是這樣,寫完發現與@lianera的表述是同一個意思,就當是補充說明了。

//=======================================

你可以嘗試用return把swapEqual(int[] a,int[] b)中交換后的a,b的值賦給c,d,看看結果。

回答2:

swapEqual函數里面,只是改變了形參a、b的引用,并沒有改變實參c、d的引用。 而swap里面,改變的c、d對應的區域的值了。 補充一下,Java里面數組也是對象,所以a、b、c、d都是引用。

回答3:

Java 里的引用和 C++ 里的引用概念有點不一樣,Java 里的引用相當于 C++ 中的指針,所以你直接對形參賦值是改變不了實參的。

回答4:

看看這個回答。https://www.zhihu.com/questio...

回答5:

Java的引用(包括基本類型,對象引用類型)在聲明、方法調用等時候都會產生新的引用,復制等號右側的引用。分為下面3種情況:

基本類型代表的值存儲在引用里面,引用中專門有個區域存儲這個值,所以在復制的時候,值也同時被復制了。

引用類型這個區域存儲的是對象在堆內存中的內存地址,引用復制的時候,指向的內存地址卻是同一份,所以不會涉及值(也就是對象)的復制

數組里面都是存儲的引用(包括基本類型,對象引用類型)

引用信息:在Java中,引用數據類型占內存嗎?

要弄清楚這個問題,首先要清楚,在JAVA中有四類八種基本類型,除了基本類型,全都是引用類型。比如你寫 int i = 1; 那么它在內存里的分配是這樣的:內存里分配了一塊空間,這塊空間的名字是i,里面的內容是1.

關于Java引用傳遞的一個困惑?

當你使用i的時候就可以訪問這塊空間里的內容。而引用類型不同,引用類型在內存中占兩塊內存。比如:你寫String s;或者String s = null;這時候在內存里分配一塊內存。這塊內存裝的是空值null,也就是什么也沒有裝。因為還沒有進行初始化。上個圖:

關于Java引用傳遞的一個困惑?

至于具體這個s分配在哪,要看他被聲明的位置。如果s被聲明為局部變量,那s就在棧空間。如果不是局部變量,那就不在棧上分配。而當你用s指向一個String類型的對象的時候,就發生了變化。也就是接著寫s = new String('zhihu');的時候。上個圖:

關于Java引用傳遞的一個困惑?

原來的s里面就會有一個值,根據s這塊空間里的這個值就可以找到在堆上找到另一塊內存。所有new出來的東西都在堆內存里。堆上的這塊內存里對String的屬性進行分配。堆內存是動態分配內存的。所以既然是分配在堆上,其實也就說明了new出來的對象占多大內存并不能確定,只能在運行期間才能分配,才能明白這個對象分配多大。 而且占用內存不能確定的原因還有一個就是,方法在執行的時候才分配內存。如果沒有調用方法,那方法只是一堆代碼而已,并不占用內存。

回答6:

謝謝大家的回答,都講的挺好的。我也明白了

標簽: java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
蜜臀av国产精品久久久久 | 日韩精品免费视频人成| 欧美一区二区三区激情视频| 日韩在线第七页| 91av亚洲| 免费高潮视频95在线观看网站| 欧美男人天堂| 欧产日产国产精品视频| 亚洲精品国产嫩草在线观看 | 日本欧美国产| 亚洲三级欧美| 久久电影tv| 国产综合欧美| 丝袜美腿成人在线| 日韩不卡手机在线v区| 国产精品一区二区av日韩在线| 日韩高清不卡一区二区| 国产麻豆一区二区三区| 久久精品色播| 久久美女性网| 久久一二三区| 国产精品一区三区在线观看| а√天堂8资源在线| 好看的av在线不卡观看| 日本一区二区三区中文字幕| 免费在线亚洲| 精品丝袜在线| 亚洲一区日韩| 欧美亚洲一区二区三区| 精品香蕉视频| 美女少妇全过程你懂的久久| 蜜桃91丨九色丨蝌蚪91桃色| 国产美女久久| 久久理论电影| 日本a口亚洲| 亚洲女同av| 男女精品网站| 欧美1区二区| 欧美日韩国产一区二区三区不卡| 亚洲人成亚洲精品| 精品美女在线视频| 欧美特黄一区| 日韩av不卡一区二区| 在线手机中文字幕| 亚洲欧美日韩国产一区| 久久av电影| 视频一区中文| 国产精品a级| 91精品91| 久久97视频| 中国女人久久久| 国产精品1区| 在线综合视频| 国产成人调教视频在线观看| 国产视频一区三区| 精品久久在线| 爽好久久久欧美精品| 欧美国产三级| 香蕉精品久久| 久久久久久亚洲精品美女| 性欧美长视频| 日韩电影免费在线观看| 日韩欧美2区| 欧美1区免费| 精品福利久久久| 亚洲区第一页| 日韩综合精品| 国产日韩欧美一区二区三区在线观看| 成人在线网站| 久久国产欧美日韩精品| 91精品观看| 久久亚洲精品中文字幕| 蜜臀av一区二区在线免费观看| 精品视频91| 日韩欧乱色一区二区三区在线| 裤袜国产欧美精品一区| 欧美日韩午夜电影网| 亚洲精品小说| 国产一区丝袜| 97精品久久| 石原莉奈一区二区三区在线观看| 成人片免费看| 国产精品超碰| 日韩精品五月天| 99日韩精品| 91精品久久久久久久久久不卡| 国产精品久久久久久久久久白浆 | 亚洲天堂免费| 久久精品主播| 国产成人免费| 国产精品色在线网站| 中文字幕视频精品一区二区三区| 久久一级电影| 蜜桃av在线播放| 精品日韩一区| 国产日韩亚洲| 婷婷久久免费视频| 欧美资源在线| 99热精品在线观看| 99久久99久久精品国产片果冰| 老司机精品在线| 久久国产欧美日韩精品| 亚洲精品少妇| 香蕉视频成人在线观看| 午夜精品免费| 欧洲毛片在线视频免费观看| 亚洲精品国产嫩草在线观看| 国产成人精品三级高清久久91| 国产精品天天看天天狠| 日本精品久久| 日本不卡不码高清免费观看| 在线精品观看| 一本一道久久a久久| 国产毛片久久| 亚洲一区区二区| 美日韩精品视频| 水蜜桃久久夜色精品一区的特点| 国产毛片久久| 久久成人国产| 中文字幕日本一区二区| 亚洲一级大片| 天堂精品久久久久| 日精品一区二区三区| 日韩精品中文字幕一区二区| 午夜久久av| 中文字幕一区二区av| 日本在线不卡视频一二三区| 日本欧美韩国一区三区| 国产免费播放一区二区| 欧美国产亚洲精品| 久久精品欧洲| jizzjizz中国精品麻豆| 日韩一区三区| 久久中文亚洲字幕| 亚洲一区二区动漫| 最近国产精品视频| 欧美日韩一区二区三区不卡视频 | 色综合www| 国产真实久久| 亚洲精品1区| 亚洲精品免费观看| 欧美一区成人| 久久精品国内一区二区三区| 亚洲国产福利| 亚洲一级高清| 日韩中文字幕不卡| 7m精品国产导航在线| 国产精品视频一区二区三区四蜜臂 | 日韩精品电影一区亚洲| 欧美日韩夜夜| 国产拍在线视频| 免费观看久久av| 亚洲一区二区三区在线免费| 国产欧美丝祙| 天堂√中文最新版在线| 激情婷婷欧美| 亚洲1区在线| 欧美国产中文高清| 亚洲午夜黄色| 综合激情在线| 免费一区二区三区在线视频| 日本少妇一区| 亚洲精品人人| 岛国av免费在线观看| 国产午夜久久| 国产剧情一区| 欧美 日韩 国产精品免费观看| 亚洲ab电影| 激情黄产视频在线免费观看| 欧美资源在线| 精品久久91| 天堂va蜜桃一区二区三区| 国产精品一国产精品k频道56| 成人啊v在线| 日本国产亚洲| 中文字幕在线免费观看视频| 亚洲天堂日韩在线| 国产夫妻在线| 亚洲三级观看| 日韩成人三级| 日韩高清国产一区在线| 日韩天堂在线| 欧美性www| 狠狠爱www人成狠狠爱综合网| 欧美日一区二区在线观看| 久久久蜜桃一区二区人| 欧美日韩xxxx| 偷拍欧美精品| 美腿丝袜亚洲三区| 亚洲综合欧美| 色婷婷色综合| 五月激激激综合网色播| 精品成人免费一区二区在线播放| 日本h片久久| 亚洲精品888| 亚洲国产欧美日本视频| 欧美亚洲tv| 日韩中文字幕麻豆| 精品国模一区二区三区| 欧美私人啪啪vps|