为何Collection不从Cloneable和Serializable接口继承?
为何Collection不从Cloneable和Serializable接口继承?
参考解答
Collection接口指定一组对象,对象即为它的元素。如何维护这些元素由Collection的具体实现决定。例如,一些如List的Collection实现允许重复的元素,而其它的如Set就不允许。很多Collection实现有一个公有的clone方法。然而,把它放到集合的所有实现中也是没有意义的。这是因为Collection是一个抽象表现。重要的是实现。
当与具体实现打交道的时候,克隆或序列化的语义和含义才发挥作用。所以,具体实现应该决定如何对它进行克隆或序列化,或它是否可以被克隆或序列化。
在所有的实现中授权克隆和序列化,最终导致更少的灵活性和更多的限制。特定的实现应该决定它是否可以被克隆和序列化。
相似问题
在Java中 HashMap是如何工作的?
在Java中,HashMap是如何工作的?
Comparable和Comparator接口是什么?
Comparable和Comparator接口是什么?
在迭代一个集合的时候 如何避免ConcurrentModificationException?
在迭代一个集合的时候,如何避免ConcurrentModificationException?
与Java集合框架相关的有哪些最好的实践?
与Java集合框架相关的有哪些最好的实践?
当一个集合被作为参数传递给一个函数时 如何才可以确保函数不能修改它?
当一个集合被作为参数传递给一个函数时,如何才可以确保函数不能修改它?
