更准确地说,是否可以做这样的事情:
String[] varIn={"1",
"2",
"3"};
in=input.nextLine();
if(in.equalsIgnoreCase(varIn[0]) ||
in.equalsIgnoreCase(varIn[1]) ||
in.equalsIgnoreCase(varIn[2]))
System.out.println(" it works! ");
变成这样的东西:
String[] varIn={"1",
"2",
"3"};
in=input.nextLine();
if(in.equalsIgnoreCase(varIn[])) // << varIn[]'s place should contain all
// the strings in varIn[]
System.out.println(" it works! ");
其中if(in.equalsIgnoreCase(varIn []))将包含要比较数组中所有字符串的所有字符串。我很确定有办法做到这一点,但是我不知道怎么做。任何人都有其他选择或解决方案吗?提前致谢!
编辑:删除错别字
最佳答案
您可以使用for循环或Stream
管道(如果可以使用Java 8)进行此操作:
if (Stream.of(varIn).anyMatch(s->in.equalsIgnoreCase(s)))
要么
if (Stream.of(varIn).anyMatch(in::equalsIgnoreCase))
这是假设您只希望将一个
in
变量与数组元素进行比较(看来您的in[1]
和in[2]
可能是拼写错误)。