Java String 字串 比較 == equals
阿新 • • 發佈:2018-12-11
1.==該運算子表示指向字串的引用是否相同,如t1==t2這種情況,
是因為在java中字串的值是不可改變的,相同的字串在記憶體中只會存一份,
所以t1和t2指向的是同一個物件,而t1==t4返回false,是因為t4 new String之後產生了一個新的物件,
t1和t4的就引用了不同的物件。
2.equals方法,該方法比較的是字串的內容是否相同,
所以一般而言,為了避免出現上述問題,判斷字串是否相等使用equals方法。
public class Test { public static void main(String[] args) { String t1 = "starguo"; String t2 = "starguo"; String t3 = "star" + "guo"; String t4 = new String("starguo"); String t5 = new String("starguo"); System.out.println(t1 == t2);// true System.out.println(t1 == t3);// true System.out.println(t1 == t4);// false System.out.println(t1.equals(t4));// true System.out.println(t4 == t5);// false System.out.println(t4.equals(t5));// true } }