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";
}
如果您接受 a
和 b
作为 class 中的字段(我不打算在这里定义),您可以将其编写为:
Result r = condition ? Result.create(1, "success") : Result.create(0, "error");
然后您可以根据需要从 r
中解压 a
和 b
。
我只有一个条件,如果满足则我需要相应地更新多个值。我正在寻找一个三元运算符来执行此操作。
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";
}
如果您接受 a
和 b
作为 class 中的字段(我不打算在这里定义),您可以将其编写为:
Result r = condition ? Result.create(1, "success") : Result.create(0, "error");
然后您可以根据需要从 r
中解压 a
和 b
。