Java8新特性之四函数式接口
来源:互联网 发布:同济大学网络教育 编辑:程序博客网 时间:2024/06/05 18:08
package com.guigu.java8;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
/**
* Java8新特性:函数式接口:(常用的只有4中)
* 1):功能型接口/函数式接口(Function):public interface Function<T,R>{public R apply(T t);}
* |-此接口需要接收一个参数,并且返回一个处理结果 "有进有出"
* 2):消费性接口(Consumer):public Consumer<T>{public void accept(T t);}
* |-:此接口要接收一个参数,但是不返回一个处理结果【没有返回值】 "有进无出"
* 3):供给型接口(Supplier):public Supplier<R>{public void get();}
* |-:此接口不需要接收一个参数,但是返回一个处理结果 "有出无进"
* 4):断言行接口(Predicate):public interface Predicate<T>{public boolean test(T t);}
* |-此接口要接收一个参数,但是返回一个boolean类型处理结果,是进行单元测试用的 "有进有出"
* @author pqd
*
*/
class MyDemo{
public void print(String str){ //此方法没有返回值,但是有参数
System.out.println(str);
}
}
public class FunctionInterfaceDemo {
public static void main(String[] args) {
//1:函数式接口--接收参数并且返回一个处理结果
Function<String,Boolean> fun="##hello"::startsWith;
boolean flag=fun.apply("##");
System.out.println(flag);
//2:消费性接口--接收参数没有返回一个处理结果
Consumer<String> consumer=new MyDemo()::print;
consumer.accept("System");
//3:供给型接口--不需要接收一个参数,但是返回一个处理结果
Supplier<String> supplier="hello"::toUpperCase;
String str=supplier.get();
System.out.println(str);
//4:断言行接口--接收一个参数,但是返回一个boolean类型处理结果
Predicate<String> predicate="hello"::equalsIgnoreCase;
String str2="HELLO";
System.out.println(predicate.test(str2));
}
}
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
/**
* Java8新特性:函数式接口:(常用的只有4中)
* 1):功能型接口/函数式接口(Function):public interface Function<T,R>{public R apply(T t);}
* |-此接口需要接收一个参数,并且返回一个处理结果 "有进有出"
* 2):消费性接口(Consumer):public Consumer<T>{public void accept(T t);}
* |-:此接口要接收一个参数,但是不返回一个处理结果【没有返回值】 "有进无出"
* 3):供给型接口(Supplier):public Supplier<R>{public void get();}
* |-:此接口不需要接收一个参数,但是返回一个处理结果 "有出无进"
* 4):断言行接口(Predicate):public interface Predicate<T>{public boolean test(T t);}
* |-此接口要接收一个参数,但是返回一个boolean类型处理结果,是进行单元测试用的 "有进有出"
* @author pqd
*
*/
class MyDemo{
public void print(String str){ //此方法没有返回值,但是有参数
System.out.println(str);
}
}
public class FunctionInterfaceDemo {
public static void main(String[] args) {
//1:函数式接口--接收参数并且返回一个处理结果
Function<String,Boolean> fun="##hello"::startsWith;
boolean flag=fun.apply("##");
System.out.println(flag);
//2:消费性接口--接收参数没有返回一个处理结果
Consumer<String> consumer=new MyDemo()::print;
consumer.accept("System");
//3:供给型接口--不需要接收一个参数,但是返回一个处理结果
Supplier<String> supplier="hello"::toUpperCase;
String str=supplier.get();
System.out.println(str);
//4:断言行接口--接收一个参数,但是返回一个boolean类型处理结果
Predicate<String> predicate="hello"::equalsIgnoreCase;
String str2="HELLO";
System.out.println(predicate.test(str2));
}
}
阅读全文
0 0
- Java8新特性之四函数式接口
- Java8新特性之 函数式接口FunctionalInterface详解
- JAVA8新特性之(函数式接口)
- Java8新特性函数式接口
- Java8 新特性 函数式接口
- Java8 新特性之一---------Lambda表达式和函数式接口
- Java8新特性Lambda表达式、函数式接口
- JAVA8新特性[第二季]-函数式接口
- Java8新特性_四大内置核心函数式接口
- Java8新特性(内置的核心函数式接口)
- [Java]Java8新特性-lambda表达式/语法/函数式接口
- java8新特性之接口定义增强
- Java8之Interface接口新特性
- java8新特性之函数式接口、lambda表达式、接口的默认方法、方法和构造函数的引用
- Java8:接口新特性
- java8特性介绍之-接口函数
- JDK8新特性之函数式接口
- JDK8新特性之函数式接口
- 线程环境下生成随机数之java.util.Random与java.util.concurrent.ThreadLocalRandom
- 针对重复键值的3路快速排序算法
- 修改mysql root账户密码
- ZooKeeper(一)-在Linux上的单机模式搭建
- Beanutils.copyproperties用法
- Java8新特性之四函数式接口
- gradle版本问题解决方案
- 一元运算符+
- 如何解决ajax跨域问题(转)
- SQL导入 timestamp 数据时报错
- ADG故障解决案例:db_file_name_convert参数设置错误
- js 数组对象 排序
- 11显式游标
- Java与Postgresql中的加解密API对应