==与equals()的区别(1)

来源:互联网 发布:手机相册浏览软件 编辑:程序博客网 时间:2024/06/13 05:39

==:比较地址
equals():Object的一个方法,也是比较地址
区别:当变量的类型为String时:
==用于判别两字符串在内存中的地址是否相同
equals()用于判别两字符串的内容是否相同(String这个类重写了equals()这个方法)
例:public class Test {
public static void main(String[] args) {
String s1=”你好”;
String s2=”你好”;
String s3=new String(“你好”);
String s4=new String (“你好”);
System.out.println(“s1==s2\t\t:”+(s1==s2));
System.out.println(“s1.equals(s2)\t:”+s1.equals(s2));
System.out.println(“s1==s3\t\t:”+(s1==s3));
System.out.println(“s1.equals(s3)\t:”+s1.equals(s3));
System.out.println(“s3==s4\t\t:”+(s3==s4));
System.out.println(“s3.equals(s4)\t:”+s3.equals(s4));
}
}
结果为:
原理: