[問題] local variable

看板java作者 (tamamad)時間16年前 (2009/09/17 22:54), 編輯推噓7(704)
留言11則, 11人參與, 最新討論串1/2 (看更多)
想請教各位一個 local variable的問題,程式碼如下: public void func(){ byte[] buf = new byte[100]; func2( buf ); } public void func2(byte[] formal ){ .... } buf是一個local variable,JVM會將他放置在stack 而buf所指到的byte array, JVM會將它放置在 heap 區 我想問的重點是,我call function時, 如果引數部分傳給他的是一個 local variable(如程式碼 call func2 的那行 ) 會不會有可能造成一些問題? 我的想法是,JAVA只有pass by value,所以當我用 buf 當引數時, 在func2裡的 formal 也會指到放在heap裡的byte array, 所以原則上這應該是沒問題的引數傳遞 然而我在實作上卻會出現一些問題, 後來我的解法是把要傳給func2的byte array reference宣告成 instance variable 但是百思不得其解,為什麼傳 local variable會出問題, 想請教板上各位高手, 鳩境 問題出在哪裡? 以上 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.241.164 ※ 編輯: tamamad 來自: 114.32.241.164 (09/17 22:59) ※ 編輯: tamamad 來自: 114.32.241.164 (09/17 23:00)

09/17 23:36, , 1F
什麼問題? @.@
09/17 23:36, 1F

09/18 00:19, , 2F
什麼問題? @.@
09/18 00:19, 2F

09/18 00:35, , 3F
什麼問題? @.@
09/18 00:35, 3F

09/18 10:12, , 4F
什麼問題? @.@
09/18 10:12, 4F

09/18 10:41, , 5F
什麼問題? @.@ 這就是推文的樂趣
09/18 10:41, 5F

09/18 12:53, , 6F
什麼問題? @.@
09/18 12:53, 6F

09/18 14:47, , 7F
什麼問題? @.@
09/18 14:47, 7F

09/18 16:04, , 8F
s麼問題? @.@ 沒照顧長 ID
09/18 16:04, 8F

09/18 20:33, , 9F
什麼問題? @.@ 第一次玩推齊ㄝ:D:D
09/18 20:33, 9F

09/19 14:11, , 10F
什麼問題? @.@
09/19 14:11, 10F

09/24 04:05, , 11F
麼問題? @.@ 沒照顧長 ID
09/24 04:05, 11F
文章代碼(AID): #1AiasB7P (java)
討論串 (同標題文章)
文章代碼(AID): #1AiasB7P (java)