[英]Compare Arraylist of Strings with String
我尝试使用Arrays.asList().contains(string)
将数组项与字符串进行比较,但每次即使emailid匹配也返回false。
这是我的阵列:
List<String> arraySE = new ArrayList<String>();
if(Arrays.asList(arraySE).contains(c.getString(c.getColumnIndex(KEY_EMAIL)))){
user.setSelected(true);
} else{
user.setSelected(isSelect);
}
样本ARRAY:
[user1@gmail.com, user2@gmail.com, user3@gmail.com]
没有错误,返回错误
一个正常工作的原始示例:
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> arrayList = new ArrayList<>();
arrayList.add("Hello");
arrayList.add("Hola");
arrayList.add("Hallo");
boolean contains = arrayList.contains("Hello");
System.out.println(contains);
}
}
我建议你通过代码调试,特别是看看c.getString(c.getColumnIndex(KEY_EMAIL))
返回什么。
boolean isThere = Arrays.asList(yourArray).contains("test");
if(isThere){
}
else{
}
首先,您示例中的列表为空。 Sencodly,你不需要使用Arrays.asList(arraySE)
,因为它已经是一个列表。
您只需使用contains函数来检查:
List<String> arraySE = Arrays.asList("user1@gmail.com", "user2@gmail.com", "user3@gmail.com");
if (arraySE.contains("user1@gmail.com")) {
System.out.println("true");
} else {
System.out.println("false");
}
import java.util.ArrayList;
import java.util.Arrays;
public class Test2 {
public static void main(String[] args) {
String str[] = {"A","B","C","D"};
ArrayList a = new ArrayList(Arrays.asList(str));
System.out.println(a.contains("A"));
}
}
您已经有一个字符串列表,其中包含call包含。 如果找到匹配,它将起作用。
为什么它现在失败基本上是当你调用asList时返回的列表不是字符串列表,所以equals方法在这种情况下的工作方式不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.