在说字符串比较之前,首先要搞清楚常用的比较运算符的具体用法:
【一】equals 与 “==”
首先equals方法是作为java.lang.Object类的一个方法。
equals方法比较的是**字符串中所包含的内容**是否相同。
String a,b = "abc";
a = new String("abc");
b = new String("abc");
System.out.println(a.equals(b) ); //结果是true 两个变量的所包含的内容是abc,故相等。
Object类提供的equals方法是用来比较两个对象的内容是否相同,因此我们可以采用这个方法去比较两个对象是否在逻辑上“相等”。
上述代码中的a.equals(b);这里是调用重写后的equals()方法,而Object类里的equals方法的定义如下:
public boolean equals(Object obj)
假设我们直接用Object类中的equals方法来比较,那么结果就和==比较得到的结果一致了。因为在Object这个类里面提供的Equals方法默认的实现是比较当前对象的引用。