在几乎所有语言中字符串都是非常重要的,在Java中也不意外。
对于字符串的比较有3种比较方式,分别是==,equals和equalsIgnoreCase
1.“==”对于这个在字符串中,他比较的是地址。
2.“equals”是比较字符串,但是这个是严格比较的,就是必须要两个字符串一模一样,才会输出true。
3.“equalsIgnoreCase”也是直接把两个字符串进行比较,但是这个比较可以忽略字符串中的字母大小写。
废话不多说,直接上代码
package mmm.jsu.oop;
public class Stringtest {
public static void main(String[] args) {
String str1 = "abc";
String str2 = new String("abc");
//使用==来比较两个字符串是否相等
System.out.println(str2 == str1);
//使用equals来比较
boolean apk = str1.equals(str2);
System.out.println(apk);
//使用equalsIgnoreCase
//boolean apk2 = str1.equalsIgnoreCase(str2);
//System.out.println(apk2);
}
}
在这里,我们的“==”输出结果是false,第二个是true。
我们把str1和str2都是定义为abc,现在我们把str2改成Abc,我们来猜一下,结果是怎么样的。
package mmm.jsu.oop;
public class Stringtest {
public static void main(String[] args) {
String str1 = "abc";
String str2 = new String("Abc");
//使用==来比较两个字符串是否相等
System.out.println(str2 == str1);
//使用equals来比较
boolean apk = str1.equals(str2);
System.out.println(apk);
//使用equalsIgnoreCase
boolean apk2 = str1.equalsIgnoreCase(str2);
System.out.println(apk2);
}
}
这里我们第一个和第二个的结果都是false,第三个是true。