public class ObjectApplication {
public static void main(String[] args) {
//--1
Integer a = 100;
Integer b = 100;
System.out.println(a==b);
System.out.println(a.equals(b));
//--2
Integer x = 500;
Integer y = 500;
System.out.println(x==y);
System.out.println(x.equals(y));
}
}
两个相等对象的equals方法一定为true, 但两个hashcode相等的对象不一定是相等的对象。
相同的对象hashcode一定是相同的。不同的对象hashcode有可能相同。
public class StringHashCode {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<String, Integer>();
List<String> list = Arrays.asList("Aa", "BB", "C#");
for(String s: list) {
System.out.println(s.hashCode());
map.put(s, s.hashCode());
}
System.out.println(map);
}
}