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