IEqualityComparer接口的对象的主要作用在于自定义判断两个对象是否相等。其中最常用的方法:bool Equals(T x, T y);实现该方法用于比较两个对象是否相等。如果指定的对象相等,则为 true;否则为 false。代码示例: class Program { ...
分类:
其他好文 时间:
2015-05-31 21:32:42
阅读次数:
135
1、字符串不变性
下面这张图展示了这段代码做了什么
1
2
String s =
"abcd";
s = s.concat("ef");
2、equals()方法、hashCode()方法的区别
HashCode被设计用来提高性能。equals()方法与hashCode()方法的区别在于:
如果两个对象相等...
分类:
编程语言 时间:
2015-05-29 23:10:20
阅读次数:
147
对象相等比较机制对于引用类型的变量和值类型的变量来说是不同的,下面分别介绍引用类型和值类型的相等比较.首先来看System.Object的部分定义: public class Object { // 摘要: // 确定指定的 System.Object...
String类
String类是一个final类,代表不可变的字符串序列
字符串是不可变的,一个字符串一旦被分贝,其内容是不可变的
字符串中判断对象相等是“=”,判断内容相等是“equals()”;String s1 = "ttf";
String s2 = "java";
String s3 = "java";
String s4 = new String("java");
String s5 =...
分类:
编程语言 时间:
2015-05-14 16:33:27
阅读次数:
105
内省(Introspection)是对象揭示自己作为一个运行时对象的详细信息的一种能力.NSObject协议和类定义了很多内省方法,用于查询运行时信息,以便根据对象的特征进行识别. 在iOS开发过程中,有效的使用内省方法.有助于避免错误地进行消息派发、错误地假设对象相等、以及类似的问题.明智地...
分类:
其他好文 时间:
2015-04-25 19:35:52
阅读次数:
148
什么是多态?多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不...
分类:
其他好文 时间:
2015-04-03 19:12:20
阅读次数:
97
首先来看看多态的定义,这里引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作(摘自“Delphi4 编程技术内幕”)。多态在C++中是通过虚函数(virrtual)实现的。C++中,实现多态有以下方法:虚函数,抽象类,重载,覆盖,模板。
C++支持两种多态:...
分类:
其他好文 时间:
2015-03-28 14:24:52
阅读次数:
120
面向对象的三大特征=封装性+继承性+多态性
封装=将客观事物抽象成类,每个类对自身的数据和方法实行权限的控制
继承=实现继承+可视继承+接口继承
多态=将父类对象设置成为和一个或者更多它的子对象相等的技术,
用子类对象给父类对象赋值之后,
父类对象就可以根据当前赋值给它的子对象的特性一不同的方式运作C++的空类有...
分类:
编程语言 时间:
2015-03-21 21:22:44
阅读次数:
190
Collection是一个接口,定义了一系列的方法。【常见方法】【对象相等】【程序分析】增加Name类的equals和hashCode方法如下:
分类:
编程语言 时间:
2015-03-20 21:47:57
阅读次数:
167
java中==、equals()、hashCode()都和对象的比较有关。
关于==
==是容易理解的。java设计java就是要比较两个对象是不是同一个对象。
对于引用变量而言,比较的时候两个引用变量引用的是不是同一个对象,即比较的是两个引用中存储的对象地址是不是一样的。
对于基本数据类型而言,比较的就是两个数据是不是相等,没什么歧义。
由于对于...
分类:
编程语言 时间:
2015-03-12 15:05:30
阅读次数:
167