非集合对象
在非集合类对象中,对不可变对象进行copy操作,仅仅是指针复制,是浅复制;
对不可变对象进行mutablecopy操作,是内容复制,是深复制。对可变对象进行copy和mutablecopy操作都是内容复制,是深复制。
集合对象
对于不可变的集合类对象进行copy操作,只是改变了指针,其内存地址并没有发生变化;进行mutableCopy操作,内存地址发生了变化,但是其中的元素内存地址并没有发生变化,属于单层深拷贝。
对于可变集合类对象,不管是进行copy操作还是mutableCopy操作,其内存地址都发生了变化,但是其中的元素内存地址都没有发生变化,属于单层深拷贝。
网友评论