java判斷字串相等
阿新 • • 發佈:2018-11-19
在java中,判斷字串相等有幾種不同的情況:
1.
public class Test {
public static void main(String[] args) {
String a="aaa";
String b="aaa";
System.out.println(a==b);
}
}
運算結果:
這裡我們將兩個變數a和b都賦值了“aaa”字串,執行之後發現兩個變數相等了,這是因為字串“aaa”被放在了方法區的字串常量池中,兩個變數實際上都是指向常量池的同一個地址,因此相等。
2.
public class Test {
public static void main(String[] args) {
String a=new String("aaa");
String b=new String("aaa");
System.out.println(a==b);
}
}
運算結果:
這裡我們給兩個變數分別開闢了兩個空間,在兩個空間中存放了“aaa”字串,兩個空間的地址不同,因此直接用==判定的話會造成不相等
3.
public class Test {
public static void main(String[] args) {
System.out.println("aaa"== "aaa");
}
}
運算結果:
這種情況很簡單,就是單純地判斷兩個字串的值是否相等而已,當然是相等的
4.
public class Test {
public static void main(String[] args) {
String a=new String("aaa");
String b=new String("aaa");
System.out.println(a.equals(b));
}
}
在實際中,我們通常使用的是.equals這種方法來判斷兩個字串是否相等,equals本來是用來判斷兩個物件是否相等的,這裡java對字串做了過載。