String之matchs

112 阅读1分钟

在Java中,sql中有like的功能,实现一个模糊查询或者说是搜索,那么其实使用Java程序也是可以实现类似效果的,那就是String的matches方法:

package b.b001;

import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;

public class Matchs {
    //String matches测试
    public static void main(String[] args) {
        Person person = new Person("小华", 1, "我作为一个全栈开发者,好像还有许多需要学习");
        LinkedList<Person> linkedList = new LinkedList<>();
        linkedList.add(person);
        linkedList.add(new Person("小华",2,"数据库开发者hhhhhh"));
        linkedList.add(new Person("小红",1,"全栈开发者"));
        linkedList.add(new Person("小华",3,"11111全栈开发者22222"));
        List<Person> personList = linkedList.stream().
                filter(item -> item.getName().equals("小华") && item.getContent().matches("(.*)(全栈开发者|数据库开发者)(.*)"))
                .collect(Collectors.toList());
        personList.stream().forEach(System.out::println);
    }
}

对应的结果:

image.png 通过(.*)来代替sql中的%。