一、Object类里的hashCode和equals方法
- hashCode一般翻译位哈希码,或者散列码,是表征一个对象的特征的int整数
- equals 方法是用来判断两个对象在逻辑上是否相等。
public class HashCode {
public static void main(String[] args) {
Phone nokia_1 = new Phone("6120c");
Phone nokia2_2 = new Phone("wp8");
System.out.println(nokia_1 == nokia2_2);
System.out.println(nokia_1.equals(nokia2_2));
String a = "aaaa";
String b = "aaa" + "a";
System.out.println(a == b);
System.out.println(a.equals(b));
}
}
执行结果:
![](https://img.haomeiwen.com/i1189654/272f94c8444f98cf.png)
说明:
- 比较两个引用对象是否相等使用equals方法,比较基本数据类型是否相等可以使用"=="
- String由于使用的比较多,Java做了特殊的处理,如果有字符串A,再生成字符串B(跟A的值一样)的时候,Java会把B的引用指向原来的A。也就是上面的
a.equals(b)
会返回true。
网友评论