java - 从java中的单个三元运算符返回多个值

标签 java conditional-operator

我有一个条件,如果满足的话,我需要相应地更新多个值。我正在寻找一个三元运算符来执行此操作。

int a    = Condition ? 1 : 0;
String b = Condition ? "success" : "error";

我需要这样的东西

(int a, String b) = Condition ? (1, "success") : (0, "error");

我不确定java中是否存在这样的东西

最佳答案

就像你不能写(int a, String b) = (1, "success");一样,不,您不能在 Java 中执行此操作。

如果您希望将它们作为单独的变量,您所能做的就是使用 if声明:

int a;
String b;
if (condition) {
  a = 1;
  b = "success";
} else {
  a = 0;
  b = "error";
}

如果您接受 ab作为类中的字段(我不打算在这里定义),您可以将其写为:

Result r = condition ? Result.create(1, "success") : Result.create(0, "error");

然后您可以解压 ab来自r根据需要。

关于java - 从java中的单个三元运算符返回多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68909477/

相关文章:

javascript - 三元运算符对变量的赋值优先级

matlab - 三元运算在 Octave 中有效吗?

java - 如何确定连接池中所需的连接数?

java - Maven3 - 仅调试主要源代码

linux - BASH : find fileX[1-20] in directory Y and look if fileX[1-20]. pid 存在

c - 三元 C 运算符如何解释空的第一个分支?为什么?

c# - 短路语句评估——这有保证吗? [C#]

java - 将 bytes[] 转换为字符串,然后再转换回 byte[] 时出现问题

java - 使用kafka的双向消息系统

java - 不兼容的类型?