2 odong 1 oDong_1 于 2016.03.09 10:28 提问

判断语句,b == null 和 null == b 有区别吗?如果有,有什么区别?

判断语句,b == null 和 null == b 有区别吗?如果有,有什么区别?

6个回答

xiepanqi
xiepanqi   2016.03.09 10:36

null ==b可以防止你漏写个=号,把==写成=造成隐藏的bug

qqh19910525
qqh19910525   2016.03.09 10:55

同意楼上,判断的主题不同,一个是判断 b

qqh19910525
qqh19910525   2016.03.09 10:54

同意楼上,判断的主题不同,一个是判断 b

qtskyll
qtskyll   2016.03.09 11:01

从良好的代码习惯来说的话。我同意楼上,防止出现bug,方便编译器检测错误

showbo
showbo   Ds   Rxr 2016.03.09 20:29

看什么语言了,如果是js这种可以防止bug

C#,java那种会直接报错,没什么区别

lx624909677
lx624909677   Ds   Rxr 2016.03.09 22:20

null == b在不小心少写一个等号的情况下,编译器会直接报错

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
IS NULL和=NULL的区别(SQL)
IS NULL是判断某个字段是否为空,为空并不等价于为空字符串或为数字0;  而 =NULL 是判断某个值是否等于 NULL,NULL = NULL和NULL
instance == null 与 null == instance 的区别
说法一:例如有一个String型变量str,它可以是某一个方法的返回值,因此它可能返回null。而当返回为null时,运行str.equals("xxx")就会报出一个空指针异常,NullPointerException。而写成xxx.equals(str)则不会报异常。因此写成后者(即xxx.equals(str))的形式比较好。那个变量可能在意外情况下会为null的。
NULL和0的区别
一、什么是空指针常量(null pointer constant)? [6.3.2.3-3] An integer constant expression with the value 0, or such an expression cast to type void *, is called a null pointer constant. 这里告诉我们:0、0L、'\0'、3 - 3、0
obj==null 和 null==obj的区别
obj==null 和 null==obj的区别: 两者并没有什么区别,但建议使用 null==obj,因为obj==null形式可能会错写成obj=null,变成了赋值语句,而fei判断语句,null==obj形式不存在这种担心,因为null=obj编译通不过。
null和NULL和nullptr和””区别
突然想到这个有趣的问题:C语言和C++对大小写是敏感的,也就是说null和NULL是区别对待的。NULL代表空地址,null只是一个符号。
关于null != a 与 a != null 的区别
null != a 要比a != null 好在于避免由于编码失误造成把a赋值为null 只是编码风格上的区别,效率是一样的; 这个与equals是类似的。比如 String str = ..; if(str.equals("admin")) 这样使用的话,一旦str是null将导致空指针异常,所以我们推荐使用 if("admin".equals(str)) 这样就没有问题了。
SQL中IS NOT NULL与!=NULL的区别
平时经常会遇到这两种写法:IS NOT NULL与!=NULL。也经常会遇到数据库有符合条件!=NULL的数据,但是返回为空集合。实际上,是由于对二者使用区别理解不透彻。 默认情况下,推荐使用 IS NOT NULL去做条件判断,因为SQL默认情况下对WHERE XX!= Null的判断会永远返回0行,却不会提示语法错误。 这是为什么呢? SQL Server文档中对Null值的
mysql设置not null和null区别
mysql设置not null和null区别
String类型下的null和“”的区别
null和""的区别 问题一: null和""的区别 String s=null; string.trim()就会抛出为空的exception String s=""; string.trim()就不会抛,为什么? 答: NULL代表声明了一个空对象,根本就不是一个字符串。 ""代表声明了一个对象实例,这个对象实例的值是一个长度为0的空
java的String=a; a==null和a.equals(null)这两个判断有什么区别
转载地址:http://zhidao.baidu.com/link?url=TiUvedxlF4YqktZl8shEigzYnSYA4hrixykEggfs7JbmSbl7bACBcpt2HpRiwA9c9GIv-62b-TAtqVQNkZWFbr9ldGNCYU65LqWgoAIygkm 首先明确的一点,String的equals方法默认是重写了Object类的方法,具体是实现是 public