java - 使用流 java 8 从列表中搜索包含寄存器内部分文本的寄存器

标签 java java-8 java-stream

我有这个 POJO。另外,我有一个学生列表,我想用流过滤哪些寄存器在他的学校名称中包含文本 santa 。在 SQL 中,它会是这样的:LIKE %SANTA%

  public class Student {
    private String name;
    private String lastName;
    private String city;
    private String schoolname;
    private String telephone;

    public String getName() {
      return name;
    }

    public void setName(String name) {
      this.name = name;
    }

    public String getLastName() {
      return lastName;
    }

    public void setLastName(String lastName) {
      this.lastName = lastName;
    }

    public String getCity() {
      return city;
    }

    public void setCity(String city) {
      this.city = city;
    }

    public String getSchoolname() {
      return schoolname;
    }

    public void setSchoolname(String schoolname) {
      this.schoolname = schoolname;
    }

    public String getTelephone() {
      return telephone;
    }

    public void setTelephone(String telephone) {
       this.telephone = telephone;
    }
}

我想获得他的schoolname的学生包含字符串 santa ,你知道我该如何对流进行过滤吗?

我需要使用流,我无法使用 if 和 else 语句来完成它。

最佳答案

您可以使用stream()filter(),其中students是Student对象的列表。

students.stream().filter(student->student.getSchoolname().contains("santa")).collect(Collectors.toList());

关于java - 使用流 java 8 从列表中搜索包含寄存器内部分文本的寄存器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60755681/

相关文章:

java - collect(supplier, accumulator, combiner)的组合器的组合顺序在哪里定义?

java - 使用 Java 流转换具有多个 if/else 的经典嵌套循环

java - 异常类名: org. springframework.context.NoSuchMessageException

Java 8 矩阵 * vector 乘法

java - 使用 Java 8 的模板方法设计模式

java - 从流中操作数据而不是打开两个流

java - Git 或外部项目中的属性文件?

java - 如何使用日历减去不同的时间单位

java - 如何覆盖默认的activiti spring-boot配置

java - 可运行和 lambda