作者KeeperOf7Key (七把鑰匙的主人)
看板java
標題[蟲?] 靈異現象??=口=""
時間Mon Feb 27 14:48:36 2006
以下是一段短短的程式:
public class MyGod
{
public static void main(String args[])
{
int del = 1;
String[] wired = {"I", "hate", "you"};
String[] normal = wired;
MyGod myg = new MyGod();
String[] strange = myg.delete(wired,normal,del);
for(int damn = 0; damn<normal.length;damn++)
System.out.println("&" + normal[damn]);
}
String[] delete(String[] wired, String[] normal, int del)
{
wired[del] = "";
return wired;
}
}
上面的程式照理來說除了紅色那行將wired存到normal裡之外~沒有任何有關
normal的運算式,所以照理說在main裡面print出normal這個變數的時候,
應該是會印出毫無變動的&I,&hate,&you。受到變動的應該只有wired這個陣列
裡的"hate"在delete這個method裡變成"",而跟normal無關。但是為什麼到最後
在main裡面print出normal的時候連normal[1]也變成了""????想都想不透...
煩請各位高手幫忙,謝謝!!!
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.46.150
※ 編輯: KeeperOf7Key 來自: 140.123.46.150 (02/27 14:50)