==和equals的区别

==比较的值地址值  

equals 是比较的具体值

 

举一个例子 

public class TestString {

public static void main(String [] args){

String s1="Monday";

String s2=new String ("Monday");

if(s1==s2){

System.out.println("s1==s2");

}else{

System.out.println("s1!=s2");

}

if(s1.equals(s2)){

System.out.println("s1 equals s2");

}else{

System.out.println("s1 not equals s2")

}

 

}

}

我们将S2用new 创建

程序输出:

s1!=s2

s1 equals s2  

 

这个就说明了 ==和 equals 的区别, 

==比较的是  两个值 在内存空间的地址 (由于 S2是new 创建的  意味着  s2的"monday"是在内存 中重新开辟的一块空间 ,所以S1!=S2)

,而 equals 只是比较这两个值是否相等,(由于equals  只是比较  S1和S2的这两个值得参数 是否相等,  所以  s1 equals s2)

 

posted on 2020-07-13 10:31  毒蝎子lin  阅读(140)  评论(0)    收藏  举报

导航