return java 中单个三元运算符的多个值

return multiple values from a single ternary operator in java

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

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 作为 class 中的字段(我不打算在这里定义),您可以将其编写为:

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

然后您可以根据需要从 r 中解压 ab