【问题标题】:return multiple values from a single ternary operator in java从java中的单个三元运算符返回多个值
【发布时间】:2021-10-24 19:12:21
【问题描述】:

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

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

我需要这样的东西

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

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

【问题讨论】:

    标签: java conditional-operator


    【解决方案1】:

    就像你不能写(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");
    

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

    【讨论】:

      猜你喜欢
      • 2018-10-20
      • 2014-09-24
      • 1970-01-01
      • 1970-01-01
      • 2012-12-25
      • 2011-12-07
      • 2021-07-20
      • 2016-07-09
      • 1970-01-01
      相关资源
      最近更新 更多