java - 将字符串与数组列表进行比较

标签 java arraylist

我有一个 arrayList,我需要将其与 String 进行比较。

我做了什么:

ArrayList<String> val = new ArrayList<String>();
val= getValues();

如果我打印 val ,它会给我预期的值。但是

if(val.contains("abcd"))

尽管在打印 val 值时它由 abcd 组成,但它返回 false。

可能出现什么问题?

编辑: 我的数组列表如何获取值:

IOUtils.copy(inputStream , write)
str = write.toString()

ArrayList<String> list = new ArrayList<String>();
list.addAll(Arrays.asList(str));
return list;

最佳答案

您需要确保val包含与abcd完全相同的string(没有空格,没有大写)。但如果它不区分大小写并且您允许空格,那么您可以这样检查:

boolean isExist = false;
for(int i=0;i<val.size();i++){
    if(val.get(i).trim().toLowerCase().equals("abcd")){
        isExist=true;
        break;
    }
}

关于java - 将字符串与数组列表进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23191190/

相关文章:

java - Google Chrome cookie sqlite 数据库的更新之间是否存在时间延迟

java - 摆脱并发修改异常

java - 从模型获取信息到 Servlet 再到 JSP 选项列表

java - 如何将 List<Integer> 的值而不是引用复制到另一个列表中?

java - java中如何对List<Integer[]>进行排序?

java - "contains()"方法如何在 List<string> 上真正起作用?

java - Log4J 无法正常工作?

java - 为什么 for-each 循环适用于数组? ( java )

java.lang.IndexOutOfBoundsException异常

java - 如何从 Eclipse 中的另一个项目访问现有的 SQLite 数据库