equal 和 == 两者均为表示相等的意思,但有所区别
== 运用在基本数据类型时,通过比较值来判定是否相同,而用于比较引用类型时,则比较两者的地址是否相等。
equal是java.lang.object的方法,可以被覆盖,通过自定义方式判定两个对象是否相等。
public static void test1()
{
String a = "1234";
String b = "1234";
String c = new String("1234");
System.out.println(a==b);
System.out.println(a==c);
System.out.println(a.equals(b));
System.out.println(a.equals(c));
}
class Student {
public String name;
public Student(String name) {
this.name = name;
}
/*
public boolean equals(Object obj)
{
Student stu = (Student)obj;
return this.name.equals(stu.name);
}
*/
}
public static void test2()
{
Student stu1 = new Student("11");
Student stu2 = new Student("11");
System.out.println(stu1.equals(stu2));
}