三元运算符:替代赋值还是冗余代码?
考虑以下代码片段:
if (string != null) { callFunction(parameters); } else { // Intentionally left blank }
是吗可以使用三元运算符重构它吗?
Java 中的三元运算符具有以下语法:
return_value = (true-false condition) ? (if true expression) : (if false expression);
如果条件为 true,则计算问号 (!) 后面的表达式并将其分配给返回值。否则,对冒号 (:) 后面的表达式进行求值并赋值。
在给定的代码中,if-else 语句检查字符串变量是否不为 null,如果为 true,则调用函数。我们可以假设两种可能的情况:
callFunction() 有一个非空返回值:
在这种情况下,我们可以使用三元运算符作为如下:
return_value = (string != null) ? callFunction(parameters) : null;
需要注意的是,三元运算符用于替代赋值。在给定的代码中,true 子句调用一个函数,该函数不直接赋值。因此,在这里使用三元运算符是没有意义的。
相反,如果目标是将代码简化为单行代码,则可以考虑以下选项:
删除 false 子句,因为它是不必要的:
if (string != null) { callFunction(parameters); }
使用单行语法:
if (string != null) callFunction(parameters);
以上是三元运算符:您应该将其用于函数调用吗?的详细内容。更多信息请关注PHP中文网其他相关文章!