这里暂时没有用到数据库,只是在前端代码中将前端搜索框的输入传到后端后,直接进行比对(后端的表格内容也是前端传到后端存储到列表中)
1.equals 和 == 的区别
equals:用于比较两个对象的内容。 ==:用于比较存放对象(栈)的(堆)内存地址。
public class test1 { public static void main(String[] args) { String a = new String("ab"); // a 为一个引用 String b = new String("ab"); // b为另一个引用,对象的内容一样 String aa = "ab"; // 放在常量池中 String bb = "ab"; // 从常量池中查找 if (aa == bb) // true System.out.println("aa==bb"); if (a == b) // false,非同一对象 System.out.println("a==b"); if (a.equals(b)) // true System.out.println("aEQb"); if (42 == 42.0) { // true System.out.println("true"); } } }==只是比较引用,所以与运行速度比equals快
2.layUI框架中前端已经为我们提供了查询的返回数据,点击查询按钮后,除了返回页码和分页的最大值,还返回搜索框内的String内容 这里只需将返回的docRoom和列表(strList)中的对象的cname进行比较。
List<Boyfriend> resList = new ArrayList<>(); if(page.getDocRoom()!=null&&!page.getDocRoom().equals("")) {//判断是否点击查询按钮 for (Boyfriend bf : strList) { if (bf.getCname().equals(page.getDocRoom())) resList.add(bf); } }else{ resList = strList; } response.setCount(resList.size());模糊查询
可直接将equals换成contains(区分大小写,返回值布尔型false(0)和(非零正数) 也可是indexof,但要修改:不区分大小写,返回在字符串中首次出现的位置(从0开始)不包含则返回-1