Базовые интерфейсы коллекции (List, Map, Set) не расширяют интерфейс Cloneable
. Это сделано для того, чтобы НЕ обеспечивать Клонируемость для конкретных реализаций.
Все классы коллекции реализуют интерфейс Cloneable
, поэтому они все являются клонируемыми. Также Cloneable
является интерфейсом маркера, означающим, что он сигнализирует компилятору / JVM выполнить дополнительную работу за занавесом , чтобы сделать этот объект Клонируемым.
Теперь мой вопрос: в каких ситуациях вы не хотите, чтобы ваш объект был клонируемым?