==:在比较基本类型时比较的是他们的值,在比较引用类型时比较的是他们的地址。
equals:用于检测一个对象是否等于另外一个对象,判断两个对象是否具有相同的引用。
特别注意:
String类型是引用类型,但是他可以用equals比较值,这是因为String的equals方法被重写了,他直接比较值。
public class B{
public static void main(String[] args) {
String aString2 = "abc"; //取出常量池中的"abc"
String bString2 = "abc"; //取出常量池中的"abc"
String aString = new String("abc");
String bString = new String("abc");
System.out.println("abc"=="abc");
System.out.println(aString2 == bString2);
System.out.println(aString == bString);
}
}