赞
踩
函数式接口:只有一个方法的接口
@FunctionalInterface
public interface Runnable {
public abstract void run();
}
超级多的@FunctionalInterface
可以简化编程模型,在新版本的框架底层大量应用,foreach(消费者类的函数式接口)
function
:函数型接口,有一个输入参数,有一个输出
package function; import java.util.function.Function; /** * @author admin * @version 1.0.0 * @ClassName demo1.java * @Description TODO * @createTime 2021年05月31日 20:35:00 */ public class demo1 { public static void main(String[] args) { /** * 函数型接口,有一个输入参数,有一个输出 * 只要是函数式接口,可以用lambda表达式简化 * 工具类,输出输入的值 */ /* Function function = new Function<String,String>() { @Override public String apply(String string) { return string; } }; */ Function<String,String> function = (str)->{ return str; }; System.out.println(function.apply("hjkl")); } }
Predicate
:断定型接口,有一个输入参数,返回值只能是布尔值
package function; import java.util.function.Predicate; /** * @author admin * @version 1.0.0 * @ClassName demo2.java * @Description TODO * @createTime 2021年05月31日 20:45:00 */ public class demo2 { public static void main(String[] args) { // 判断字符串是否为空 /** *断定型接口,有一个输入参数,返回值只能是布尔值 */ /* Predicate predicate = new Predicate<String>() { @Override public boolean test(String str) { return str.isEmpty(); } }; */ Predicate<String> predicate = (str)->{ return str.isEmpty();}; System.out.println(predicate.test("jjj")); } }
Consumer
:消费型接口:只有输入,没有返回值
package function; import java.util.function.Consumer; /** * @author admin * @version 1.0.0 * @ClassName demo3.java * @Description TODO * @createTime 2021年05月31日 20:55:00 */ public class demo3 { public static void main(String[] args) { /** * 消费型接口:只有输入,没有返回值 */ /* Consumer<String> consumer = new Consumer<String>() { @Override public void accept(String str) { System.out.println(str); } }; */ Consumer<String> consumer = (str)->{ System.out.println(str); }; consumer.accept("hjkl"); } }
Supplier
:供给型接口:没有参数,只有返回值
package function; import java.util.function.Supplier; /** * @author admin * @version 1.0.0 * @ClassName demo4.java * @Description TODO * @createTime 2021年05月31日 21:01:00 */ public class demo4 { public static void main(String[] args) { /** * 供给型接口:没有参数,只有返回值 */ /* Supplier supplier = new Supplier<Integer>() { @Override public Integer get() { return 1024; } }; */ Supplier supplier = ()->{return 1024;}; System.out.println(supplier.get()); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。