内建函数式接口

来源:互联网 发布:linux抓包工具 编辑:程序博客网 时间:2024/06/03 20:22

Lambda语法简化为方法引用,Lambda的核心在于函数式接口,而函数式接口的核心在于只有一个方法,在函数式接口中只需要四个接口,就是方法无参无返回值,方法无参有返回值,方法有参无返回值,方法有参有返回值


1.消费型接口(有参数无返回值)

public interface Consumer<T>{public void accept(T t);}

package com.wjx.sayHello;import java.util.function.Consumer;public class TestDemo {public static void main(String[] args){Consumer<String> con=System.out::println;con.accept("你好世界");}}

2.供给型接口

public interface Supplier<T>{public T get()}

不接受参数

package com.wjx.sayHello;import java.util.function.Supplier;public class TestDemo {public static void main(String[] args){Supplier<String> t="hello"::toUpperCase;System.out.println(t.get());}}

3。断言式函数接口

判断操作

public interface Predicate<T>{public boolean test(T t);}

package com.wjx.sayHello;import java.util.function.Predicate;public class TestDemo {public static void main(String[] args){Predicate<String> pre="##hello"::startsWith;System.out.println(pre.test("##"));}}

4.功能型接口

public interface Function<T,R>{public R apply(T t)}

当你把数据传入进行一些处理并返回的时候我们用功能性接口,另外功能性接口还有一些扩充,比如你确定你传入数据是整型,则可以使用IntFunction来接受数据,此时定义一个返回的数据类型即可

package com.wjx.sayHello;import java.util.function.Function;public class TestDemo {public static void main(String[] args){Function<Integer, String> fun=String::valueOf;System.out.println(fun.apply(10002).length());}}




原创粉丝点击