如何缩短它 - Java String.equal(string)方法

时间:2016-04-15 08:21:38

标签: java if-statement

我做了if声明,但它太长了..

像那样:

if("WORDS".equals(object.string1) || "WORDS".equals(object.string2) || "WORDS".equals(object.string3)
|| "WORDS".equals(object.string4) || "WORDS".equals(object.string5) || "WORDS".equals(object.string6)
|| "WORDS".equals(object.string7) || "WORDS".equals(object.string8)  || "WORDS".equals(object.string9)
|| "WORDS".equals(object.string10)) { ......... }

如何使其缩短陈述

2 个答案:

答案 0 :(得分:2)

试试这个

static boolean equalsOr(String a, String... b) {
    for (String s : b)
        if (a.equals(s))
            return true;
    return false;
}

if (equalsOr("WORDS", object.string1, object.string2, ...))

答案 1 :(得分:1)

您可以使用可变数量的参数创建一个函数:

static bool compareMultiStrings(String words, String ... stringi) {
  if (words == null) return false;

  for(String  s : stringi){
    if (words.equals(s)) return true;
  }

  return false;
}

然后从你的if:

中调用它
if (
  compareMultiStrings(
    "WORDS",
    object.string1, object.string2, object.string3, object.string4,
    object.string5, object.string6, object.string7, object.string8,
    object.string9)
)
{ ..... }

第一个参数if if for constants string,"WORDS"。其他参数是varargs参数。