[問題] 同一物件不同值
不太確定標題怎麼下比較好
大概狀況是
今天有三個物件
public class aa
{
ArrayList<bb> bArraylist
.
.
}
public bb
{
ArrayList<cc> cArraylist
String name;
boolean setting;
.
.
}
public cc
{
String name;
boolean setting ;
.
.
}
我會需要new 很多個aa物件
但我希望保持每個new出來的aa物件底下的 bArraylist,cArraylist資料都同步
bb cc 的name也是同步
只保留bb cc 的setting各自有各自的設定
現在的想法是creat一個獨立的main aa
當對這個main aa物件做修改的時候 其他new出來的物件再做同樣的事情
但是變成在初始化的時候,其他new出來的物件必須先clone main aa一次
我想問有其他更好的做法嗎?
又我在做deep clone的時候
發現只有bb會是獨立的記憶體,但是cc又指向同樣的位子了
是不是我連cc 也要implements Cloneable 然後一個一個加到bb 再加回aa呢?
不好意思這問題我覺得有點笨
但我想了幾天了實在想不到比較好的方法
還希望各位先進可以提供一些方向
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.206.17
※ 文章網址: http://www.ptt.cc/bbs/java/M.1412064107.A.B28.html
※ 編輯: erttyy8821 (223.136.206.17), 09/30/2014 16:02:22
→
09/30 16:22, , 1F
09/30 16:22, 1F
→
09/30 16:23, , 2F
09/30 16:23, 2F
同步的意思
假設今天new 了三個aa: aa1,aa2,aa3
我在aa1.bArraylist add一個物件 希望aa2,aa3也可以同時add一個物件
又或者我修改 aa1.bArraylist.get(0).name aa2,aa3同時也可以修改
但是如果是 aa1.bArraylist.get(0).setting aa2,aa3 並不會改
我有想過用static 但是這樣的話setting不是也會一起被改嗎?
所以我create一個 static main aa做為參考
讓其他new出來的aa先copy這份,在各自修改setting
但總覺得這樣copy很浪費記憶體 才想問有沒有其他更好的方式?
※ 編輯: erttyy8821 (223.136.206.17), 09/30/2014 16:32:27
→
09/30 17:01, , 3F
09/30 17:01, 3F
感謝!!!! 這就是我要的
※ 編輯: erttyy8821 (203.74.126.1), 09/30/2014 20:17:14
→
09/30 23:59, , 4F
09/30 23:59, 4F
→
10/01 00:00, , 5F
10/01 00:00, 5F
→
10/01 00:00, , 6F
10/01 00:00, 6F
→
10/01 00:01, , 7F
10/01 00:01, 7F
java 近期熱門文章
PTT數位生活區 即時熱門文章