我做了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)) { ......... }
如何使其缩短陈述
答案 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参数。