==比較的是2個對象的地址,而equals比較的是2個對象的內容。顯然,當equals為true時,==不一定為true。
對于下面的代碼:
String a=new String("foo");
String b=new String("foo");
兩條new語句創建了兩個對象,然后用a,b這兩個變量分別指向了其中一個對象,這是兩個不同的對象,它們的首地址是不同的,即a和b中存儲的數值是不相同的,所以,表達式a==b將返回false,而這兩個對象中的內容是相同的,所以,表達式a.equals(b)將返回true。
新聞熱點
疑難解答