尝试使用 lambdaj(在此处下载,网站)和 hamcrest(在此处下载,网站),这些库对于管理集合非常强大,以下代码非常简单并且可以完美运行:
import static ch.lambdaj.Lambda.having;
import static ch.lambdaj.Lambda.on;
import static ch.lambdaj.Lambda.select;
import static org.hamcrest.Matchers.containsString;
import java.util.Arrays;
import java.util.List;
public class Test2 {
public static void main(String[] args) {
List<String> list = Arrays.asList("A","BB","DCA","D","x");
String strTofind = "C";
System.out.println("List: " + list.toString());
boolean match = select(list, having(on(String.class), containsString(strTofind))).size()>0;
System.out.println("The string " + strTofind + (!match?" not":"") + " exists");
strTofind = "X";
match = select(list, having(on(String.class), containsString(strTofind))).size()>0;
System.out.println("The string " + strTofind + (!match?" not":"") + " exists");
}
}
由此可见:
List: [A, BB, DCA, D, x]
The string C exists
The string X not exists
基本上,您可以在一行中搜索字符串是否在数组的任何字符串中:
boolean match = select(list, having(on(String.class), containsString(strTofind))).size()>0;
使用这个库,您可以在一行中解决您的问题。您必须添加到您的项目:hamcrest-all-1.3.jar 和 lambdaj-2.4.jar 希望这会有用。
注意:在我的示例中,我使用列表,然后如果您想使用数组:(Arrays.asList(array)
数组是字符串 [])