java - 如何检查任何数组列表是否包含特定字符串

标签 java arraylist

我正在尝试使用以下代码:

public void verifyCategorySlugsInSearchcall(BaseDTO baseDTO, String jsonResponse) {
        List<String> categoryList = JsonPath.read(jsonResponse,
                "response.groups.DEFAULT_GROUP.documents[*].categorySlugs[*]");
        CustomReporter.reportInfoWithOutLineBreak("Category from search call Response:" + categoryList);

        Assert.assertTrue(categoryList.size() > 0, "No category slug name was displayed.");

        CustomReporter.reportInfoWithOutLineBreak("Category Slug from  search call Response:" + categoryList);
        Assert.assertTrue(categoryList.contains(baseDTO.getPsCallDetails().getCategory()),
                "Category Name was not matching. Actual:" + categoryList + ".Expected:"
                        + baseDTO.getPsCallDetails().getCategory());
    }

我的数组列表包含所有类别名称:

例如:[“apple-tv-apple-tv-4k”,“apple-tv-apple-tv-4k”,“apple-tv-apple-tv”]

需要搜索此数组中包含的 apple-tv。我的代码给出错误,因为不包含特定类别的 apple-tv。

最佳答案

使用流:

boolean result = categoryList.stream()
    .anyMatch(c -> c.contains("apple-tv"));

如果您想生成一个仅包含名称中包含 apple-tv 的类别的新列表,请使用 filter:

List<String> output = categoryList.stream()
    .filter(c -> c.contains("apple-tv"))
    .collect(Collectors.toList());

关于java - 如何检查任何数组列表是否包含特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58407962/

相关文章:

java - Array 和 ArrayList 获取素数有什么区别?

java - 如何在 FileOutputStream 中使用数组列表

Java Arraylist.retainAll() 返回意外的空列表

Java - 带有密码的 ProcessBuilder rsync 命令失败

java - 单击 fragment 按钮时如何获取下一个 Activity

Java:访问相同的ArrayList,同时使用该ArrayList中的其余元素

java - ArrayList 不存储对象

java - 在 windows 中创建的 tar.gz 无法在 linux 下正确解压 - ArchiverFactory/org.rauschig.jarchivelib.Archiver

java - 在 Java 中同时运行多少个线程是可取的?

java - 程序在Eclipse中运行,导出的可运行jar文件打不开?