1. 程式人生 > >equals與==的區分

equals與==的區分

區別 [] 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與==的區分