【问题标题】:Ternary operator to set values into multiple variables三元运算符将值设置为多个变量
【发布时间】:2017-12-17 08:21:03
【问题描述】:

我有两个变量AB,我需要使用三元运算符在一个语句中设置这两个变量的值。

例如:

"XYZ".equals(String 1) ? (A = String A) : ("ABC".equals(String 2) ? (B = String B) : (A = B = null)) ;

这可能吗?

【问题讨论】:

  • 调试完成后发生了什么?顺便说一句,可读性很差。
  • “使用三元运算符我需要在一个语句中设置这两个变量的值” 为什么?与简单、明显的if/else if/else 不同?像“我需要使用三元组”这样的语句需要解释,因为它们表明存在(奇怪的)设计约束,试图帮助你的人应该注意。
  • 另外,不清楚你在问什么。你是说你尝试了(一个有效的版本)上面的表达式但它没有用吗?如果没有,你得到了什么错误?

标签: java ternary-operator


【解决方案1】:

是的,你可以,但你应该将表达式的结果分配给某个变量:

String value = "XYZ".equals("something") ? (A = "aValue") : ("ABC".equals("somethingElse") ? (B = "bValue") : (A = B = null));

虽然看起来不太可读。

【讨论】:

  • 这看起来很有创意,但我不会写这样的代码来帮助我的队友:)
猜你喜欢
  • 2014-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 2020-06-20
  • 2019-09-02
相关资源
最近更新 更多