java ==和===区别

==用于一般比较,===用于严格比较,
==在比较的时候可以转换数据类型,
===严格比较,只要类型不匹配就返回flase。
举例说明:
"1"==true
类型不同,"=="将先做类型转换,把true转换为1,即为"1"==1;
此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为1==1;

此时,"=="左右两边的类型都为数值型,比较成功!

如果比较:"1"===true左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;

如果比较:"1"===1左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;

如果比较:1===1左侧为int数值型,右侧为int 数值型,左右两侧类型相同,数值大小也相同,结果为true;

如果比较:1===2左侧为int数值型,右侧为int数值型,左右两侧类型相同,但数值大小不同,结果为false;

简而言之就是"=="只要求值相等;

"==="要求值和类型都相等

 

 

你可能感兴趣的:(java)