看板 java 關於我們 聯絡資訊
感謝darkk6精美的圖表跟程式碼^___^ 但是我最大的疑惑是, 在Java這樣的特性下, Getter and Setter只有在基本型別下才有意義不是嗎? 假設我現在有Room跟User兩個Bean, Room存放了UserList, 假設我的Room只提供Getter, 那一般的實作不是通常是這樣 List<User> userList; public List<User> getUserList(){ return userList; } 我的本意是不想讓外部Class可以修改userList, 可是如果我的Getter是這樣實作, 外部仍然可以對這個userList做操作, 當然使用以下寫法就可以解決, public List<User> getUserList(){ retunr new ArrayList<User>(userList); } 難道遇到參照類型的物件, 我都只能這樣子實作嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.35.107.99
tkcn:有 unmodifiable list 這種東西呀 http://goo.gl/ffXtQ 07/13 14:02
我知道一定都有對應的解法, 只是這樣不就超級麻煩, 假設用了參照的型別, 都一定要自己特別去實作Getter ※ 編輯: gn00742754 來自: 114.35.107.99 (07/13 14:11)
coolcomm:immutable的class就不需要getter/setter啦 07/13 14:18
ssccg:在參照型別property封裝的是參照,不是參照的物件 07/13 14:40
ssccg:不是跟你想的不同就叫沒意義吧 07/13 14:44
coolcomm:為什麼要一直暴露細節? 如果不希望物件內容被改動 乾脆 07/13 14:45
coolcomm:封裝成method不就好了 07/13 14:46