Lambda浅解

lambda常见语法格式

  1. 无参,无返回值
() -> System.out.println
  1. 有返回值
() -> "abc";
  1. 方法引用
ContainingClass::staticMethodName

函数式接口

函数式接口只包含一个抽象方法声明接口。使用@FunctionalInterface注解。这样函数式接口只能有一个抽象方法,如果你尝试添加第二个抽象方法

public class StudentTest {
    @Test
    public void testA() {
        CustomFn<String> customFn = (val) -> val == "a";
        System.out.println(customFn.test("a"));
    }
}

使用函数式接口

CustomFn<String> customFn = (val) -> val == "a";
System.out.println(customFn.test("a"));

其他

java JDK中提供java.util.function 提供了方便的使用方法

image.png

stream Filter方法

看源码定义 Stream<T> filter(Predicate<? super T> predicate);。传递是一个Predicate返回bool类型

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容