作者jaw109 ()
看板java
標題[問題] Vector的get() 方法吐出來的東西是clone嗎?
時間Thu Mar 17 21:39:35 2011
Vector <NameCard> v = new Vector <NameCard>();
讀一堆東西(v); // 此時v裡面有一串NameCard
可是此時當我這麼做...
NameCard nc = v.get(20);
nc.name = "小笨瓜";
v裡面第20筆資料的name並沒有跟著更新.....(我希望是"有")
我認為Vector.get()這個method傳回來的東西是個clone
所以我在NameCard裡面override了clone()這個method
直接return this;
class NameCard
{
public String name;
public age;
public NameCard clone()
{
return this;
// return super.clone();
}
}
結果也沒有用, 我在clone()裡讓他吐出一些訊息
結果發現在使用Vector.get()時也沒看到這個訊息
也就是說*get()不會觸發clone()* (這樣正常嗎??)
[我的問題是...]
如果希望那第20筆資料會跟著更新
我應該可以怎麼做呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.140.195
推 slalala:寫方法 帶set get 03/17 21:41
※ 編輯: jaw109 來自: 60.250.140.195 (03/17 21:46)
推 slalala:等等 你前面// 此時v裡面有一串NameCard<==PO一下 03/17 21:49
→ jaw109:其實也就是一連串的v.add(new NameCard()); 而已 03/17 22:13
等等, 請先不要處理, 我的問題其實是在android上面
我剛剛寫了一個純java程式, 發現其實Vector.get()的確是傳回reference.....
我試著在android上面把問題重製出來, 等我真的重製出來再說吧....
※ 編輯: jaw109 來自: 123.194.132.204 (03/17 22:14)
→ jaw109:btw, slalala, 謝謝你的幫忙囉 03/17 22:15
推 slalala:如果是Andorid 這真的很有趣 03/17 23:14
推 a1234957:API是GOOGLE重寫過的XD 03/18 04:53