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

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

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

瀏覽:335日期: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啊,為什么沒有交換。數(shù)組的=不就是復制引用嗎?通過函數(shù)可以把a,b的引用交換,這樣不就是把內(nèi)容交換了嗎?干嘛非要這樣寫?

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)經(jīng)過你的代碼處理(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)經(jīng)過你的代碼處理(地址1,2中的值交換了):a --> {3,4}(地址1)b --> {1,2}(地址2)雖然不會對c,d指向的地址造成影響,但是原本地址下的值已經(jīng)改變了:c --> {3,4}(地址1)d --> {1,2}(地址2)

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

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

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

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

回答2:

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

回答3:

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

回答4:

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

回答5:

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

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

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

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

引用信息:在Java中,引用數(shù)據(jù)類型占內(nèi)存嗎?

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

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

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

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

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

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

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

回答6:

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

標簽: java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩精品亚洲专区| 1024精品一区二区三区| 久久久久久黄| 国产欧美88| 蜜臀久久99精品久久久久宅男| 99精品综合| 欧美交a欧美精品喷水| 亚洲精品韩国| 亚洲综合婷婷| 久久国产精品亚洲77777| 亚洲黄色网址| 极品av在线| 日韩免费看片| 久久久久久久欧美精品| 你懂的国产精品永久在线| 日韩三级精品| 日本不卡一区二区| 日本成人手机在线| 日产欧产美韩系列久久99| 午夜在线一区二区| 激情六月综合| 日韩欧美视频专区| 欧美一区久久久| 国产精品毛片久久| 国产成人77亚洲精品www| 美女视频黄免费的久久| 久久精品国产亚洲一区二区三区| 麻豆国产91在线播放| 亚州av乱码久久精品蜜桃| 欧美亚洲国产激情| 亚洲伊人精品酒店| 国产激情久久| 蜜臀久久精品| 老牛影视一区二区三区| 国产精品1区| 久久蜜桃av| 午夜久久av| 精品国产一区二区三区2021| 亚洲精品一区二区妖精| 亚洲精品伊人| 中文字幕高清在线播放| 乱人伦精品视频在线观看| 日韩av中文字幕一区二区 | 亚州国产精品| 免费一级欧美在线观看视频| 日韩高清欧美| 天堂久久av| 日韩在线二区| 蜜桃久久久久久| 高清不卡亚洲| 亚洲色图综合| 日韩欧美二区| 亚洲aa在线| 神马久久午夜| 视频一区日韩精品| 欧洲亚洲一区二区三区| 亚洲精品自拍| 秋霞影视一区二区三区| 免费一级片91| 日韩久久一区二区三区| 婷婷精品在线观看| 日韩精品1区| 日韩二区在线观看| 99久久久久国产精品| 一区二区国产在线观看| 天堂8中文在线最新版在线| 亚洲精选91| 亚洲特色特黄| 国产精品一国产精品k频道56| 激情久久久久久| 欧美日韩亚洲国产精品| 日韩av在线播放网址| 日韩中文字幕一区二区三区| 日韩免费在线| 美女久久精品| 日本成人在线视频网站| 欧美丝袜一区| 国产精品99一区二区三| 日韩精品视频中文字幕| 欧美美女一区| 久久精品一区二区国产| 亚洲69av| 黄色日韩在线| 欧美sss在线视频| 老司机精品在线| 欧美日韩a区| 好看不卡的中文字幕| 婷婷激情一区| 国产精品第一国产精品| 97久久超碰| 免费av一区| 三级精品视频| 久久成人高清| 欧美一级久久| 久久亚洲电影| 91精品福利| 午夜av成人| 日韩av有码| 国产精品一区二区av交换| 亚洲精品观看| 9国产精品视频| 日韩一区二区中文| 精品免费av一区二区三区| 欧美精品福利| 天堂久久一区| 最新国产精品视频| 99国产一区| 伊人久久亚洲热| 日韩精品不卡一区二区| 国产v日韩v欧美v| 精品免费在线| 国产精品国产一区| 欧美国产极品| 久久精品伊人| 欧美激情亚洲| 久久久国产精品入口麻豆| 日韩在线成人| 日韩黄色av| 日韩一区二区三区精品| 日韩精品中文字幕一区二区| 亚洲毛片一区| 婷婷精品在线| 91精品国产经典在线观看| 日韩黄色av| 国产免费av国片精品草莓男男| 国产探花一区在线观看| 日韩不卡在线观看日韩不卡视频| 日韩av中文字幕一区二区| 日韩精品第一| 国产精品久久久久久久久久久久久久久| 日韩高清不卡一区| 91午夜精品| 欧美激情一区| 日韩av免费大片| 久久国产亚洲精品| 成人免费电影网址| 亚洲精品1区2区| 国产精品毛片| 综合视频一区| 日韩av一区二区在线影视| 国产欧美大片| 免费在线播放第一区高清av| 高潮久久久久久久久久久久久久| www成人在线视频| 久久国产高清| 国产丝袜一区| 美女久久久久久| 日韩在线欧美| 香蕉成人久久| 97久久精品| а√在线中文在线新版| 久久久精品网| 久久先锋影音| 91精品啪在线观看国产爱臀| 精品国产亚洲一区二区三区在线 | 国产精品久久久久久久久久齐齐| 精品国产乱码久久久| 成人午夜网址| 欧美日韩免费看片| 在线亚洲精品| 日本不卡一区二区| 国产一区2区| 国产精品av久久久久久麻豆网| 日韩专区在线视频| 国产丝袜一区| 日韩精品免费一区二区三区| 性欧美长视频| 欧美日韩xxxx| 99成人在线视频| 久久亚洲风情| 精品99在线| 国产农村妇女精品一二区| 日韩精品社区| 超级白嫩亚洲国产第一| 久久国产精品久久w女人spa| 国产极品一区| 亚洲播播91| 亚洲精品进入| 中文字幕高清在线播放| 蜜臀精品久久久久久蜜臀| 精品精品久久| 性欧美长视频| 久久久久久色| 女生影院久久| 日韩欧乱色一区二区三区在线| 久久麻豆视频| 爽好久久久欧美精品| 欧美日韩亚洲一区二区三区在线| 亚洲电影有码| 日韩av资源网| 午夜精品婷婷| 久久精品国产在热久久| 免费不卡在线观看| 日韩另类视频| 国产乱码精品一区二区三区四区 | 国产乱论精品| 四虎884aa成人精品最新| 亚洲欧美日韩综合国产aⅴ| 久久精品福利| 青草国产精品|