首页  >  文章  >  Java  >  三元运算符:您应该将其用于函数调用吗?

三元运算符:您应该将其用于函数调用吗?

Patricia Arquette
Patricia Arquette原创
2024-11-08 08:59:01784浏览

Ternary Operator: Should You Use It for Function Calls?

三元运算符:替代赋值还是冗余代码?

考虑以下代码片段:

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,则调用函数。我们可以假设两种可能的情况:

  1. callFunction() 有一个非空返回值:
    在这种情况下,我们可以使用三元运算符作为如下:

    return_value = (string != null) ? callFunction(parameters) : null;
  2. callFunction() 没有返回值:
    在这种情况下,使用三元运算符将是多余的。 if-else 语句已经处理了替代操作,添加三元运算符不会提供任何附加功能。

需要注意的是,三元运算符用于替代赋值。在给定的代码中,true 子句调用一个函数,该函数不直接赋值。因此,在这里使用三元运算符是没有意义的。

相反,如果目标是将代码简化为单行代码,则可以考虑以下选项:

  • 删除 false 子句,因为它是不必要的:

    if (string != null) {
        callFunction(parameters);
    }
  • 使用单行语法:

    if (string != null) callFunction(parameters);

以上是三元运算符:您应该将其用于函数调用吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn