if(true == b) 与if(b == true)有什么区别 if(true == b) 与if(b == true)有什么区别我是一个Java的初学者, 完全靠自己自学,今天在看视频是听老师说专业的程序员都用 if(true == b) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我觉得一样。。有人说if(null==entity)比 if(entity==null)更安全但是也没见过有报过错。 一样的只是为了防止出错true == b 如果你少写了一个=则会报错 而b == true则不会 看看这个精华帖:http://topic.csdn.net/u/20090608/09/576b3c86-c004-4fa7-b96d-6d9245160cec.html?23373 如果b是boolean型的话,应该这样判断吧:if(b) 自己动手,丰衣足食如果b的类型是1 原声类型boolean,专业的程序员都用if (b)2 java.lang.Boolean,且b != null的情况下,专业的程序员还是用if (b)3 java.lang.Boolean,且b = null的情况下,if(true == b) 与if(b == true)都是NullPointerException4 其他情况,编译失败总结,用“if (true == b)”的恐怕都是那个误人子弟、毁人不倦的老师教出来的p.s.: if (b == true),大概15年前,我还在读高中时,这种写法就被我老师纠正过,当时学的是FoxBase Basic >>3 java.lang.Boolean,且b = null的情况下,if(true == b) 与if(b == true)都是NullPointerException这个不可能空指针异常的,又没有用equal 我的青春小鸟一去不回来。帕斯卡 FOXPOR FOXBASE ...... 那些说能防空异常的! Boolean a = null; if(true == a) //这里你写成if(a == true) 或者写成if(a) 都会出空异常! System.out.println("aaa"); boolean a = null; //这种写法是语法错误!还有啥好说的啊 月经贴Boolean a = null; 编译错误… 大家说的都对。大部分支持该写法:a.if(“abc”==a),有益于调试程序 b.if(a)--a是Boolean类型正好我也学习了。 表达不清啊,我是说三种写法都空异常了。Boolean a = null;编译错误? 那我这怎么通过编译了。 其实是一样的 其实也就是种习惯了哎 我以前的老师每次都让我们写成 true==b 因为一旦你不小心少些了个等于 那么编译器就报错了 反之 b=true 在之前定义了boolean b 之后 编译器就不报错了哎 还是小心为上 因为b == true 如果你有时候少打一个=的话,就是 if(b=true),这种情况但true == b 如果你也少打一个=的话,就会报错了,所以专业的程序员应该是用true==b详见《代码大全》 判断的时候如果可以接受0和非0那么把常量写前面是有意义的。java中if判断的结果只能是true和false,不接受数字,所以没区别。但你的b本身就是bool类型的,不小心写成b=true的话if就一定会执行了。这种情况一般写if(b)。 其实,LZ 可以看看 高质量C++编程 就会懂了! 我感觉这个没有区别的,习惯性吧。因为我们习惯把null!=xxx,把null写前面防止报错。但是true写前面,没有这样的作用啊 其实是没啥区别...........有些时候用,是有技巧的.比较判断一个变量是否和字符串相等"abc".equals(变量)要比变量.equals("abc")安全. 这个纯粹是瞎说。对象有属性或方法访问的行为时才有类似的说法,例如:"abc".equals(s)比s.equals("abc")安全些。==运算没有属性访问的行为,不会出现空指针的情况。 在进行逻辑判断的时候,一般将常量放前面,这样你如果一不小心漏掉了一个'='号,会立马提示错误的。否则将会留下一个很隐秘的bug 那些说“如果不小心漏了一个=号,会留下很隐秘的Bug的”都回家自己试试去10L是正解还有关于 a.equals("b") 还是 "b".equals(a)我的习惯是前者,a的非空性应该由代码保证,而不是靠技巧撸过去! 引用 106 楼 sunyiz 的回复:刚才突然发现可以自己设置 Eclipse 里 Java 的编译级别if(boolean=false) 这种代码的默认级别为:Ignore完全可以自己设置成 Warning 或者 Error纠结于 if(boolean==false) 会写错成 if(boolean=false) 的人完全可以在 IDE 里设置一下,一劳永逸Windows -> Preferences -> Java -> Compiler -> Errors/Warnings -> Potential programming problems 下面 Possible accidental boolean assignment(e.g. 'if(a=b)')); 一直都用if(b)代码从来没在这个方面出现漏洞。 蛋疼的帖。写成if(b)正解。写成if(b==true)明显才毕业。写成if(true == b)明显装x。 C++里面有用,java不存在这样的问题~ 总结,用“if (true == b)”的恐怕都是那个误人子弟、毁人不倦的老师教出来的 防止由于疏忽造成的赋值语句,在C语言比较重要。java中好像有一个警告提示。 这类问题在Java语言没啥好讨论的. 所谓什么专家建议,都是很久很久以前基于C语言总结出来的.C语言 可以这样写 if(a=null) 编译器不会报错.但是java语言 写 if(a=null) 编译器一定会报错. 因此不会出现所谓的不小心少写一个等号出现业务错误机会 读取字符串的问题 JButton的组合效果 求助JFrame中窗体的设置问题 float型数据怎么转换成字符串 两道java题,大家帮忙看看!! help!那位高手知道如何获取cpu,内存的使用信息 关于RMI编译时遇到的问题? 因为是一个公共类,里面的所有的方法是public的,这样多个用户可能会发生同时操作的现象,这种情况下,要不要将所有的方法都用 synchroni jb5.0和6.0有什么区别啊? 哪里有java人气好的论坛与文档 如何将list转成数组? 关于repaint()函数的疑惑。
有人说if(null==entity)比 if(entity==null)更安全
但是也没见过有报过错。
true == b 如果你少写了一个=则会报错 而b == true则不会
http://topic.csdn.net/u/20090608/09/576b3c86-c004-4fa7-b96d-6d9245160cec.html?23373
如果b的类型是1 原声类型boolean,专业的程序员都用if (b)
2 java.lang.Boolean,且b != null的情况下,专业的程序员还是用if (b)
3 java.lang.Boolean,且b = null的情况下,if(true == b) 与if(b == true)都是NullPointerException
4 其他情况,编译失败总结,用“if (true == b)”的恐怕都是那个误人子弟、毁人不倦的老师教出来的p.s.: if (b == true),大概15年前,我还在读高中时,这种写法就被我老师纠正过,当时学的是FoxBase Basic
这个不可能空指针异常的,又没有用equal
我的青春小鸟一去不回来。帕斯卡 FOXPOR FOXBASE ......
Boolean a = null;
if(true == a) //这里你写成if(a == true) 或者写成if(a) 都会出空异常!
System.out.println("aaa"); boolean a = null; //这种写法是语法错误!
还有啥好说的啊
Boolean a = null; 编译错误…
大部分支持该写法:a.if(“abc”==a),有益于调试程序
b.if(a)--a是Boolean类型
正好我也学习了。
b == true 如果你有时候少打一个=的话,就是 if(b=true),这种情况
但
true == b 如果你也少打一个=的话,就会报错了,所以专业的程序员应该是用true==b详见《代码大全》
"abc".equals(s)
比
s.equals("abc")
安全些。==运算没有属性访问的行为,不会出现空指针的情况。
刚才突然发现可以自己设置 Eclipse 里 Java 的编译级别
if(boolean=false) 这种代码的默认级别为:Ignore
完全可以自己设置成 Warning 或者 Error纠结于 if(boolean==false) 会写错成 if(boolean=false) 的人
完全可以在 IDE 里设置一下,一劳永逸
Windows -> Preferences -> Java -> Compiler -> Errors/Warnings -> Potential programming problems 下面 Possible accidental boolean assignment(e.g. 'if(a=b)'));
代码从来没在这个方面出现漏洞。
写成if(b)正解。
写成if(b==true)明显才毕业。
写成if(true == b)明显装x。
C++里面有用,java不存在这样的问题~
C语言 可以这样写 if(a=null) 编译器不会报错.但是java语言 写 if(a=null) 编译器一定会报错. 因此不会出现所谓的不小心少写一个等号出现业务错误机会