1.final的语义: java中final修饰符的语义是:不可变的。 在java中,final可以修饰:变量,方法和类。分别代表,变量是不可变的;方法是不可被重写的;类是不可被继承的。 2. final修饰变量: 当final修饰成员变量时,修饰类变量和实例变量,初始化的时机是不同的。 实例变量可...
分类:
编程语言 时间:
2015-01-10 13:51:39
阅读次数:
187
11.2.2.1 结构相等和比较
在F# 中,我们能声明的大多数类型,都是不可变的;如果我们不显式提供实现IComparable 接口,并重写 Equals 方法,F# 编译器会自动实现,它是通过比较结构相等(structural equality)实现的。对F# 的类,还不能自动完成,只对简单的函数类型,比如,记录、差别联合和元组,不必要显式声明。
使用这种比较类型的值,如果它们是相...
分类:
其他好文 时间:
2015-01-09 17:33:21
阅读次数:
154
11.2.2 测试结构相等
在C# 中,测试复杂数据结构的相等可能非常棘手。如果我们构造一个新的对象,具有相同的属性,使用== 运算符比较两个对象,其结果很可能是false,因为我们比较的是两个不同的实例。
在C# 中,== 运算符可以被重载,Object.Equals 可以重写,但通常只用于值类型或不可变数据结构。比较可变类型的两个不同实例时,识别两者之间的不同,是很重要的,因为数据可...
分类:
其他好文 时间:
2015-01-09 15:33:26
阅读次数:
122
参考———http://blog.csdn.net/sqqyq/article/details/8224355注意———IObjectSafety接口的GUID是唯一的,//Guid唯一,不可变更,否则将无法通过IE浏览器的ActiveX控件的安全认证 [ComImport, Guid("CB...
相信大家都看过很多关于String 与StringBuffer的区别,自从Java 5.0发布以后,我们的比较列表上将多出一个对象了,这就是StringBuilder类,String类是不可变的任何String对象做了改变都会引发一个新的对象生成。而StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象,使用StringBuffer提程序的性能。
那为什么在j...
分类:
其他好文 时间:
2015-01-08 11:24:21
阅读次数:
154
11.1.2.2 使用不可变数据结构
为了演示了以不可变风格,写相同的代码,但不一定必须使用函数式列表;即使使用标准的 List 类型,我们一样能够避免修改集合。然而,不幸的是,要确保不意外修改列表,可能很难。
处理不允许修改的类型,有更好的方法。可以使用真正不可变类型,比如,第三章的FuncList,或者 .NET Framework 中的 ReadOnlyCollection;即使使...
分类:
其他好文 时间:
2015-01-07 16:56:10
阅读次数:
132
11.1.2.1 使用可变数据结构
在清单11.4 中,可以看到两个函数,处理的集合保存了前面示例的地名。这一次,我们使用C#,把地名保存在标准的List 类型中,它是可变的。
清单11.4 处理保存在List 中的地名(C#)
List LoadPlaces() { [1]
returnnew List { "Seattle", "Prague",
"...
分类:
其他好文 时间:
2015-01-07 13:16:51
阅读次数:
131
NSString:不可变字符串 创建字符串的最简单的方式: NSString *str = @"itcast"; // 这个创建的是OC字符串 oc中的字符串都是NSString类的对象 char *name = "itcast"; // 这个是c语言字符串 NSLog(@"我在%@上...
分类:
其他好文 时间:
2015-01-07 06:57:08
阅读次数:
166
一直都傻傻的以为用final关键字定义的都是不可变的。没想到的是对基本类型来说,这是一直成立的。
但是对于final修饰的对象,仍然可以修改对象里面的对象和成员变量。不变的只是当前对象的地址。
昨天我还信誓旦旦的和被人说我用final修饰对象了,它是不可变的,它里面的数值是不会被修改的(其实是可以被修改的)!!!想想就觉得惭愧,特以此文告诫自己,在不明事情真相的情况下不要妄下结论。
对于基本类型,例如final int x=1,这时x是“真正的”不可变,即进行...
分类:
其他好文 时间:
2015-01-06 10:09:02
阅读次数:
122
①.OC中常用排序方法:
1).不可变数组
- (NSArray *)sortedArrayUsingSelector:(SEL)comparator;
- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr;
2)可变数组
- (void)sortUsingSelector:(SEL)comparator;
- (voi...
分类:
移动开发 时间:
2015-01-05 23:30:37
阅读次数:
6303