1. 程式人生 > >Java String 字串 比較 == equals

Java String 字串 比較 == equals


 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

	}
}