java - 使用 if(0 == foo()) 而不是 (foo() == 0) 有什么好处?

标签 java c++ coding-style

<分区>

我发现有些程序员喜欢在比较运算符中这样编写代码。我发现它更难阅读...

if (0 == foo()){
    ....
}

foo() == 0 在可读性方面有什么不同吗?使用 0 ==foo() 有什么好处?

最佳答案

在那种情况下没有区别,但是在比较字符串时最好先使用字符串常量以避免空指针异常。

if ("somestring".equals(someVarString)) {
// doSomething
}

所以 someVarString 可以为 null 并且测试仍然有效。而如果您将测试翻转为:

if (someVarString.equals("somestring")) {
// doSomething
}

如果 someVarString 为空,将导致 NPE。

关于java - 使用 if(0 == foo()) 而不是 (foo() == 0) 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6819475/

相关文章:

java - ViewPager : OutOfResourcesException locking surface

java - 如何通过次对角线遍历二维数组?

c++ - C++中获取/设置方法变量的方法声明的编程风格?

reactjs - React/JSX 中推荐的字符行长度

java - Primefaces 3.5 如何使用 dataExporter 导出不可见的 dataTable 行

java - 在java中复制路径包含空格的文件

c++ - 任意算术类型比较 : does anyone know an implementation?

c++ - 在 C++ vector 的每个元素上调用函数

c++ - "ANSI C"或 "ANSI C++"在今天还有意义吗?

java - .collect(Collectors.toList()) 和 Java 方法上的流