【问题标题】:Avoid a lot of conditions inside an If Statement避免在 If 语句中使用很多条件
【发布时间】:2020-01-28 12:11:46
【问题描述】:

我有这样的 if 语句

if(areEqual(a,ax) && areEqual(b,bx) && areEqual(c,cx) && areEqual(d,dx) && areEqual(e,ex) && areEqual(f,fx) && areEqual(g,gx) && areEqual(h,hx) && areEqual(i,ix) && areEqual(j,jx) && areEqual(k,kx)

如果语句包含大量条件并且不可读,则为该语句。我怎样才能避免这种情况? if 条件是否有任何管道模式?

【问题讨论】:

标签: java if-statement coding-style readable


【解决方案1】:

假设您使用的是 Python,您可以将所有检查存储在一个列表中(比如list1)并检查

if sum(list1)==len(list1):
  do something

【讨论】:

  • 感谢您的帮助,但我使用的是 Java8
【解决方案2】:

在 javascript 中,如果将 true 和 true 相加,则得到 2。使用此信息,您可以将所有条件放在一个数组中并得到它的总和。

var conditions = [condition1, condition2, ... ]; -- all conditions go here

var sum = 0; -- works out the sum
for (var i = 0; i < conditions.length; i++) {
    sum += conditions[i];
}

if (sum === conditions.length) {
    console.log("success")
}

【讨论】:

  • 感谢您的帮助,但我使用的是 Java8
猜你喜欢
  • 2011-02-01
  • 2012-04-27
  • 2021-07-03
  • 1970-01-01
  • 2018-04-11
  • 2019-03-27
  • 2017-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多