==和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)
浙公网安备 33010602011771号