【0基础学java】教学日志:javaSE--Lambda表达式

这篇博客详细介绍了Lambda表达式在Java中的应用,包括LambdaTest、StudentDao、Teacher等概念,以及AgeFilter、ScoreFilter和StudentFilter等过滤器的实现,通过实例演示了Lambda表达式的使用和原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本章概述:本章主要讲了Lambda表达式在Java中的使用,Lambda表达式的介绍,Lambda表达式的使用,函数式接口,Lambda表达式的原理。

目录

本章概述:

一、Lambda

1、LambdaTest 

2、StudentDao 

3、Student 

4、Teacher 

5、TeacherDao 

二、why1

1、Student 

2、Test 

三、why2

1、AgeFilter 

2、ScoreFilter 

3、StudentFilter

4、Test 

四、why3

1、Test

五、why4

1、Test

六、LambdaDemo 

七、LamdbaInterface 


本章概述:

一、Lambda

1、LambdaTest 

package com.class4.lambda;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.util.concurrent.Callable;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;

/**
 * @Auther: Yu Panpan
 * @Date: 2022/5/3 - 05 - 03 - 16:08
 * @Description: com.class4.lambda
 * @version: 1.0
 */
public class LambdaTest {

    public static void main(String[] args) throws Exception {
        Runnable runnable = new Runnable() {
            @Override
            public void run() {
                System.out.println("running1!");
            }
        };
        runnable.run();

        Runnable runnable2 = ()-> System.out.println("running2!");
        Runnable runnable3 = ()->{
            System.out.println("running3!");
        };
        runnable2.run();
        runnable3.run();

        Callable<String> callable = new Callable<String>() {
            @Override
            public String call() throws Exception {
                return "jason1";
            }
        };
        System.out.println(callable.call());

        Callable<String> callable1 = ()->{return "jason2";};
        Callable<String> callable2 = ()->"jason3";
        System.out.println(callable1.call());
        System.out.println(callable2.call());

        StudentDao dao  = new StudentDao() {
            @Override
            public void insert(Student student) {
                System.out.println("插入1个学生记录:" + student);
            }
        };
        dao.insert(new Student());
        StudentDao dao1 = (student)-> System.out.println("插入:" + student);
        StudentDao dao2 = (Student student)-> System.out.println("插入:" + student);
        StudentDao dao3 = (student)->{
            System.out.println("插入:" +student);
        };
        StudentDao dao4 = (Student student)-> {System.out.println("插入:" +student);};
        StudentDao dao5 = student-> System.out.println("插入:" + student);
        StudentDao dao6 = student-> {System.out.println("插入:" + student);};

        dao1.insert(new Student());
        dao2.insert(new Student());
        dao3.insert(new Student());
        dao4.insert(new Student());
        dao5.insert(new Student());
        dao6.insert(new Student());

        TeacherDao teacherDao = new TeacherDao() {
            @Override
            public int get(Teacher teacher) {
                return 1;
            }
        };
        System.out.println(teacherDao.get(new Teacher()));

        TeacherDao teacherDao1 =(teacher)->{return 2;};
        TeacherDao teacherDao2 =  (teacher)->3;
        TeacherDao teacherDao3 = teacher->{return 4;};
        TeacherDao teacherDao4  = teacher->5;
        System.out.println(teacherDao1.get(new Teacher()));
        System.out.println(teacherDao2.get(new Teacher()));
        System.out.println(teacherDao3.get(new Teacher()));
        System.out.println(teacherDao4.get(new Teacher()));

        /*
         *     在JDK中,提供了一些代表输入和输出的接口,他们本身是没有什么意义的,
         *      只是为了方便的使用lambda表达式来编写代码,从而获取对应的执行结果。
         *
         */
//        Supplier<Integer> supplier = new Supplier<Integer>() {
//            @Override
//            public Integer get() {
//                return 1;
//            }
//        };
        Supplier<Integer> supplier = ()->1;
        System.out.println(supplier.get());

//        Consumer<String> consumer = new Consumer<String>() {
//            @Override
//            public void accept(String s) {
//                System.out.println(s);
//            }
//        };
        Consumer<String> consumer = (s)-> System.out.println(s);
        consumer.accept("jason1");

//        Function<Integer,String> function = new Function<Integer, String>() {
//            @Override
//            public String apply(Integer integer) {
//                return integer + "jason2";
//            }
//        };
        Function<Integer,String> function = (i)->i+"jason3";
        Function<Integer,String> function1 = (Integer i)->{return i+"jason4";};
        System.out.println(function.apply(200));
        System.out.println(function1.apply(300));
    }
}

2、StudentDao 

package com.class4.lambda;

/**
 * @Auther: Yu Panpan
 * @Date: 2022/5/3 - 05 - 03 - 16:18
 * @Description: com.class4.lambda
 * @version: 1.0
 */
@FunctionalInterface
public interface StudentDao {

    public void insert(Student student);

}

3、Student 

package com.class4.lambda;

/**
 * @Auther: Yu Panpan
 * @Date: 2022/5/3 - 05 - 03 - 16:19
 * @Description: com.class4.lambda
 * @version: 1.0
 */
public class Student {
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jason的java世界

不要吝啬你的赞赏哦~~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值