Lambda表达式——重要的是参数和方法体

使用 Lambda 表达式减少不必要的代码书写

  1. 繁琐的代码块
	@Test
    public void testSpec() {
        Specification spec = new Specification() {
            @Override
            public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder cb) {
                Path custName = root.get("custName");
                Predicate predicate = cb.equal(custName, "黑马");

                return predicate;
            }
        };
        Customer customer = customerDao.findOne(spec);
        System.out.println(customer);
    }
 
  
  1. 使用 Lambda 表达式简化代码书写`
@Test
   public void testSpec1() {
       System.out.println(customerDao.findOne(
               (Root root, CriteriaQuery query, CriteriaBuilder cb) -> cb.equal(root.get("custName"), "黑马")
               ));
 }

Lambda 表达式总结

  • 只有参数和方法体才是关键
    • 对比上面两个代码(代码块1,代码块2),可以看出,对我们有用的也只是 代码块1 中的参数参数对应的方法体代码块2 其实就是把 代码块1 的参数和方法体提取出来,按照 Lambda 的格式写出来。
  • Lambda 的书写格式不做赘述。

你可能感兴趣的:(自我理解)