equals與==的區分
阿新 • • 發佈:2018-03-10
區別 [] char 空間 數據 數據庫 equals args 數值
equals與==的區分
對於比較數值
public class Test {
public static void main(String[] args){
int a=30;
int b=30;
System.out.println("hellow world!");
System.out.println(a==b);
}
}
運行結果:
hellow world!
true
對於比較字符串時,
==比較的是地址,其內容分別保存在了不同的空間,所以即使內容相等,但是地址的值是不相等的。
public class Test { public static void main(String[] args){ String a="hellow"; String b=new String("hellow"); String c=b; //System.out.println("hellow world!"); System.out.println(a==b); System.out.println(a==c); System.out.println(b==c); } } 運行結果: false false true
而equals只是比較的是字符串內容而不是地址,但是這裏涉及到數據庫char和varcha的區別,空格equals是能識別出來的。
public class Test { public static void main(String[] args){ String a="hellow"; String b=new String("hellow"); String c=b; //System.out.println("hellow world!"); System.out.println(a.equals(b)); System.out.println(a.equals(c)); System.out.println(b.equals(c)); } } 運行結果: true true true
equals與==的區分