1. == 是一个运算符。
2.Equals则是string对象的方法,可以.(点)出来。
//==号,他比较的是一个对象在内存中的地址值
//equals的情况比较复杂,它是java.lang.object类中的一个方法。
//因为java中所有的类都默认继承于Object,所以所有的类都有这个方法。
/*在Object类源码中是这样写的。
public boolean equals(Object obj) {
return (this == obj);
}
他同样使用==号进行内存地址的比较。但是许多java类中都重写了这个方法,比如String。
*/
@Test
public void testEquals() {
String sa = new String("str");
String sb = new String("str");
if (sa == sb) {
System.out.println("Yes");
} else {
System.out.println("No");
}
System.out.println("Yes");
if (sa.equals(sb)) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}