阅读目录:不可变对象自定义不可变集合Net提供的不可变集合不可变优点不可变对象缺点不可变对象不可变(immutable): 即对象一旦被创建初始化后,它们的值就不能被改变,之后的每次改变都会产生一个新对象。var str="mushroomsir";str.Substring(0, 6)c#中的st...
在ObjC中,什么是深浅拷贝?深浅拷贝分别指深拷贝和浅拷贝,即mutableCopy和copy方法。copy复制一个不可变对象,而mutableCopy复制一个mutable可变对象。什么时候用到深浅拷贝?下面举几个例子说明。非容器类对象如NSString,NSNumber等一类对象示例1:1234...
分类:
其他好文 时间:
2015-03-18 10:18:25
阅读次数:
149
String是一个类,也可以表示字符串数据类型String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.String 是final类,即不能被继承.作为参数传递时,只是复制了一份引用StringB...
分类:
其他好文 时间:
2015-03-05 12:43:21
阅读次数:
130
本文转载至http://www.tuicool.com/articles/Fn6rMnCSDN博客原文http://blog.csdn.net/u010962810/article/details/18887841通过copy方法可以创建可变对象或不可变对象的不可变副本,对于不可变副本,其对象的值不...
分类:
其他好文 时间:
2015-03-03 20:18:29
阅读次数:
165
1 深复制:内容拷贝,源对象和副本对象指的是两个不同的对象,源对象引用计数器不变,副本对象引用计数器为12 浅复制:指针拷贝,源对象和副本对象指的都是同一个对象,对象引用计数器+1,相当于retain3 只有不可变对象创建不可变副本(copy)才是浅复制,其它的都是深复制copy关键字的使用平时我们...
分类:
移动开发 时间:
2015-03-03 11:30:16
阅读次数:
151
概述集合的一般操作内建函数进行标准操作集合数学运算符进行标准操作集合集合的应用 概述 python的集合(set)是无序不重复元素集,是一种容器。集合(set)中的元素必须是不可变对象,即可用被哈希,这和字典的键是一样的,所以列表、字典等可变对象不可作为set的元素。集合不提供索引或切片操作,即.....
分类:
编程语言 时间:
2015-02-28 18:03:20
阅读次数:
215
注意,本文只说结论不说过程1.对于系统的非容器类对象,我们可以认为,如果对一不可变对象复制,copy是指针复制(浅拷贝)和mutableCopy就是对象复制(深拷贝)。如果是对可变对象复制,都是深拷贝,但是copy返回的对象是不可变的。2.系统的容器类对象,指NSArray,NSDictionary...
分类:
移动开发 时间:
2015-02-26 18:06:16
阅读次数:
126
Python在heap中分配的对象分成两类:可变对象和不可变对象。所谓可变对象是指,对象的内容是可变的,例如list。而不可变的对象则相反,表示其内容不可变。不可变对象:int,string,float,tuple可变对象 :list,dictionary对于全局变量来说,可变对象和不可变对象有很大...
分类:
编程语言 时间:
2015-02-05 20:21:48
阅读次数:
182
线程安全的体现 不可变:对象被构建完后,其外部可见状态永远不会改变 绝对线程安全:不管运行环境如何,调用者都不需要任何额外的同步措施 相对线程安全:Java语言中的大部分线程安全类,或通常意义所说的线程安...
分类:
编程语言 时间:
2015-01-29 17:52:36
阅读次数:
163
uuid模块在Python 2.5以后引入,接口包括:不可变对象UUID(UUID类)和函数uuid1()、uuid3()、uuid4()和uuid5(),后面的四个函数用于生成RFC 4122规范中指定的第1、3、4、5版UUID。使用uuid1()或uuid4()可以获得一个唯一的ID,uuid...
分类:
编程语言 时间:
2015-01-29 01:16:06
阅读次数:
326