java – “使用布尔文字进行相等性测试” – 测试布尔值与使用之
发布时间:2020-12-15 04:08:37 所属栏目:Java 来源:网络整理
导读:参见英文答案 Boolean checking in the ‘if’ condition????????????????????????????????????10个 我使用 Code Pro查看我的应用程序代码,并使用以下消息报告该工具: Warning: equality test with boolean literal 对于此代码: boolean valid;if(valid ==
参见英文答案 >
Boolean checking in the ‘if’ condition????????????????????????????????????10个
我使用 Code Pro查看我的应用程序代码,并使用以下消息报告该工具:
对于此代码: boolean valid; if(valid == true) 可以使用以下方法修复: if(valid) 我有两个问题: >这只是一个很好的编码实践吗? 解决方法
对于更直接的布尔表达式:
boolean valid = true; if(valid) { } 生成以下字节代码: 0: iconst_1 1: istore_1 2: iload_1 3: ifeq 6 6: return 而扩大比较: boolean valid = true; if(valid == true) { } 生成以下字节代码: 0: iconst_1 1: istore_1 2: iload_1 3: iconst_1 4: if_icmpne 7 7: return 我怀疑ifeq和if_icmpne的执行速度不同,因此if(valid == true)的额外成本实际上只是额外的常量值,这可以忽略不计. 总而言之,实际上没有性能差异,CodePro将您的代码标记为单独的最佳实践. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |