在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);
}
}
对应的结果:
通过(.*)来代替sql中的%。