在Java中,表达式 `(x != null) && (x.length() > 0)` 用于判断x是否为非空且长度大于0的字符串。如果x为null,那么x.length()会被执行吗?
答案解析
由于使用了短路逻辑运算符`&&`,如果`(x != null)`为false,则整个表达式的结果已经确定为false,因此不会执行`(x.length() > 0)`的判断。选项A和C错误,因为x.length()不会被执行;选项B错误,因为x为null不是x.length()不被执行的直接原因。正确答案是D,因为发生了短路。
正确答案:D