equals与==的区分

Posted 明叶师兄。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了equals与==的区分相关的知识,希望对你有一定的参考价值。

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与==的区分的主要内容,如果未能解决你的问题,请参考以下文章