JAVA中==和===的区别

简介:

 简单理解来说,“==”的意义为等同,而“===”则是恒等。在严格程度方面而言,“===”的判断标准更严格一些。以下做详细区分:

  1、“==”

    (1)当被判断的两个值类型相同时,直接使用“===”进行判断

    (2)如果两个值类型不相同,那么进行下一步判断。

      ①如果一个为NULL,一个为undefined,那么两值相等。

      ②如果一个为字符串,一个为数字,那么系统将会把字符串转化成数值进行比较。

      ③任意值为True,则将其当作 1 进行比较,相对应的,Flase被视为0。

      ④如果一方为对象,一方为数值或字符串,那么需要将对象转化成基础类型的值进行比较。

       例如value of方法和ToString()方法。

  2、“===”

    (1)类型不同,则不相等。

    (2)数值类直接比较是否相等。

    (3)字符串类,会严格对照每个位置的字符是否相等,若是则相等,反之,不相等。

    (4)两值均为True或Flase,则相等。

    (5)两值引用自同一函数或对象,则相等。

    (6)两值均为NULL或者均为undefined则相等。

举例:

 设 a = "9";

    b =  9;

  则判别式 a==b 的返回结果为True,但 a===b的返回结果为Flase。

posted @   天下第一木子李  阅读(1962)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示