对象的比较中,可以使用“==”运算符,也可以使用“equals”来比较
但它们虽然都是用于比较,但得到的值确可能不一样
public class bijiao
{
public static void main(String[] args)
String a = new String("abcdefg");
String b = new String("abcdefg"); //创建两个引用,引用内容都为“abcdef”
String c = a; //赋值,将a赋值为c
System.out.println(b == c);
System.out.println(b.equals(c));//分别使用==运算符合equals来比较
}
得到的值,b==c false
b.equals(c) true
这说明两个比较方式是不一样的,a,b两个引用所指的内容虽然都是一样,但他们在内存中的位置不同,
也就是说,当c被赋值之后,c与b相比,就是false
但用equals得到的却是TRUE,也就是说,他们相比较的不是处于内存的地址值,而是他们引用的内容。