2012年9月12日
摘要: 在Java中,哈希码代表对象的特征。 例如对象 String str1 = “aa”, str1.hashCode= 3104 String str2 = “bb”, str2.hashCode= 3106 String str3 = “aa”, str3.hashCode= 3104 根据HashCode由此可得出str1!=str2,str1==str3 哈希码产生的依据:哈希码并不是完全唯一的,它是一种算法,让同一个类的对象按照自己不同的特征尽量的有不同的哈希码,但不表示不同的对象哈希码完全不同。也有相同的情况,看程序员如何写哈希码的算法。 下面给出几个常用的哈希码的算法。 ... 阅读全文
posted @ 2012-09-12 18:59 Adonstein 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 解释一下==号,他比较的是一个对象在内存中的地址值,比如2个字符串对象String s1 = new String("str");String s2 = new String("str");如果用==号比较,会返回false,因为创建了两个对象,他们在内存中地址的位置是不一样的。equals的情况比较复杂,它是java.lang.Object类中的一个方法。因为java中所有的类都默认继承于Object,所以所有的类都有这个方法。在Object类源码中是这样写的。public boolean equals(Object obj) { return (th 阅读全文
posted @ 2012-09-12 18:53 Adonstein 阅读(216) 评论(0) 推荐(0) 编辑