java - 检查条件的命令

标签 java

所以我有

if(A != null && (A.getFullName() == null || A.getFirstName().equals("")){}

在检查 A.getFirstName 之前,jvm 是否先检查 A.getFullName?顺序是从左到右还是可以在 A.getFullName 之前检查 A.getFirstName?我问是因为如果 A.getFullNamenullA.getFirstName 会给我一个 NullPointerException

最佳答案

是的,Java 的逻辑运算符做 short-circuit .在您的情况下,这意味着如果 A.getFullName() 返回 null,则不会调用 A.getFirstName()

参见 Java logical operator short-circuiting进一步讨论。

关于java - 检查条件的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28463540/

相关文章:

java - java 正则表达式 X 的示例? , X?+ 和 X?

java - 将数据转换为声音并返回

java - 如果使用 @Local 注释 (EJB),则会出错

Java FRANCE/FRENCH Locale 千位分隔符看起来像空格但实际上不是

java - 计算具有两个变量的单个简单方程的解集的算法

java - 类实例和静态方法的关系

java - 将数据从 SOAP 处理程序传递到 Web 服务服务器类

java - IPhone App 与 Java ServerSocket 之间的 SSL 连接

java - 通过对象调用时 findViewById 抛出 null

类之间的 Java 共享条件抛出 IllegalMonitorStateException : null