解析equals,“===”的作用

在做项目时遇到个问题,在前台传一个值到后台的时候,拿值进行字符串判断,明明传过来的参数与判断条件相同,却返回false,后来用了equals()才解决。
解析一下equals()这个方法,equals方法用于比较一个对象的值是否等于另一个对象的值
例子如下:

String a = "abc";
String b = "abc";
String c = new String("abc");
String d = new String("abc");

如下的输出是true,因为在Java中,字符串的常量默认是一个对象,是共享的。

System.out.println(a == b);

如下的输出是false,c是重新创建了一个对象,所以a和c是不同的对象。

System.out.println(a == c);

如下输出的是true,由于String对象的equals方法比较的是对象中的值。

System.out.println(a.equals(c));

如下输入的是false,虽然c和d对象内的值相同,但属于两个不同的对象。

System.out.println(c==d);

如下输出的是true,比较的是对象中值。

System.out.println(c.equals(d));
System.out.println(a.equals(b));

在这里插入图片描述
在之前面试Java的时候,当时面试官问我一个等号,两个等号,三个等号的区别,对于比较陌生,很少见过,那么解析一下===和!==的作用。
在JavaScript中定义两个变量,很明显这是两个类型不同的变量,一个是数组类型,一个是整数类型。

var first=[1];
var second=1;

那么它们的值是否相同呢?用“==”是相等的,直接执行true的代码,所以说,不管类型是否相同,它们判断的是值。

if(first==second){
	  	   console.log("=="+true);
}else{
	  	   console.log("=="+false);
}

如下代码执行的是false,三个等号不止单单比较它们的值,而且还要判断它们的类型是否相同,全部条件都满足才是true,所以说“===”叫做全等。

if(first===second){
	  	   console.log("==="+true);
}else{
	  	   console.log("==="+false);
}

如下执行的是true,“!==”和“!=”不一样,前者忽略类型,执行比较值,类似于两个等于。

if(first!==second){
 	   console.log("!=="+true);
}else{
  	   console.log("!=="+false);
}

综合上述可以得出,一个等于,两个等于,三个等于的术语分别叫做赋值,比较,全等。
在这里插入图片描述
在这里插入图片描述
如有解析错误,请提出!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值