[問題] UnsupportedOperationException?
其實我對前幾天那篇很有興趣,
可是不知道為什麼沒有後續,文章也不見了 @_@
所以我就自己來冒名頂替一下吧。
// Returns a fixed-size list backed by the specified array.
Arrays.asList(T... a)
上面這個 method 會回傳一個 Arrays$ArrayList 物件,
ArrayList 繼承自 AbstractList,
因為沒有 override add() 與 remove(),
所以一但執行 add() 或 remove(),
就會丟出 UnsupportedOperationException。
看起來一切都合情合理,
畢竟 Arrays$ArrayList 骨子裡是 Array,
要是能支援 add, remove 那才奇怪的勒
(java.util.ArrayList 內部雖然也是 Array,但是他始亂終棄)
讓我感到疑惑的是,這樣設計的目地到底是什麼?
List 介面明明有提供 add, remove,
實作他的類別卻只會丟出 UnsupportedOperationException,
這樣是一個合理的 OO 設計嗎?
如果不是,那是否有什麼其他的考量呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.183.199
→
01/25 16:00, , 1F
01/25 16:00, 1F
→
01/25 16:02, , 2F
01/25 16:02, 2F
→
01/25 16:02, , 3F
01/25 16:02, 3F
→
01/25 16:07, , 4F
01/25 16:07, 4F
推
01/25 16:30, , 5F
01/25 16:30, 5F
→
01/25 16:37, , 6F
01/25 16:37, 6F
→
01/26 03:27, , 7F
01/26 03:27, 7F
→
01/26 03:28, , 8F
01/26 03:28, 8F
→
01/26 20:08, , 9F
01/26 20:08, 9F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 4 篇):