if(true==a) 和 if(a==true) 的区别

本文探讨了Java中true==true的使用方式及其背后的原因。解释了此种写法可以避免因误写为true=true而产生的难以发现的错误,并介绍了Java语言规范关于相等运算符的相关规定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自csdn论坛


以我在项目中经验,这两个区别我们在项目中推荐使用true==a,是为了防止有人漏写一个=号,做这种判断时定值放在前面少写=号会报编译错,而反过来写就不会,导致结果出错后还不容易调试出来。



答案:没有区别


Java语言规范 章节15.21 Equality Operators有详细的说明。


总结一下:
“==”运算符有三种用法,
1.数字比较,也就是说运算符两边都是数字类型
2.逻辑比较,运算符两边都是boolean或Boolean类型
3.引用比较(reference equality),用来比较对象(object)实例。


楼主问的是第二种,只要等式两边都是(true)或(false),结果就是true,反之结果就是false


这个和逻辑运算符(||)或(and)不一样,"and"是从左向右比较的,如A||B,A和B都要是true,结果才是true,但运行是表达式A先被运行,如果是false,B就不再被运行了。这个特点有时可以被利用上。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值