我的要求是将String
与ArrayList
进行比较,其中包含字符串列表。任何人都可以建议我吗?
答案 0 :(得分:18)
使用
ArrayList.contains("StringToBeChecked");
如果ArrayList中存在String,则此函数将返回true,否则将返回false。
答案 1 :(得分:7)
这是你的方法:
private boolean containsString(String testString, ArrayList<String> list)
{
return list.contains(testString);
}
答案 2 :(得分:5)
查看List#contains(T obj)方法,如下所示:
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("xyz");
list.contains("abc"); // true
list.contains("foo"); // false
答案 3 :(得分:3)
您可以考虑不同的选项:
嗯,这些方法的优点和缺点,都取决于你想做什么以及为什么以及如何比较字符串。
此致 斯特凡
答案 4 :(得分:3)
ArrayList可以包含一个或多个字符串。您无法将String与ArrayList进行比较。但您可以检查ArrayList是否包含不使用contains()
方法
String str = //the string which you want to compare
ArrayList myArray =// my array list
boolean isStringExists = myArray.contains(str);// returns true if the array list contains string value as specified by user
答案 5 :(得分:2)
如果您愿意使用Lambdaj,请检查String的存在:
private boolean isContains(ArrayList<String> listOfStrings, String testString) {
return (Lambda.select(listOfStrings, Matchers.equalTo(testString)).size() != 0);
}
使用select
和equalTo
的静态导入可提高可读性:
select(listOfStrings, equalTo(testString));