public class Person {
private int age;
private String name;
public Person(){
}
public Person(int age,String name){
this.age = age;
this.name = name;
}
public void show(){
System.out.println(age+"\t"+name);
}
public static void main(String[] args) {
System.out.println("hello01");
Person p = new Person();
Person p1 = new Person();
System.out.println(p1.hashCode());
System.out.println(p.hashCode());
System.out.println(p==p1);
System.out.println(p.equals(p1));
System.out.println("-----------分割线--------------");
Person a = new Person(18,"小明");
Person a1 = new Person(18,"小明");
System.out.println(a1.hashCode());
System.out.println(a.hashCode());
System.out.println(a==a1);
System.out.println(a.equals(a1));
}
}
问题1
equals比较的是两个对象的内容我认为应该是一样的,但是结果却是false,这个方法比较的到底是什么?
问题2
hashCode值打印出来后,关闭程序,然后重新打开IDEA运行还是原来的值,每次创建对象不都是随机地址吗?而且对象在用完后不是会被销毁吗?有点蒙了
求解答