函数式接口——Java学习笔记

函数式接口

函数式接口一般使用形式:

在类中先定义一个方法method,参数传递,再加上函数式接口类型参数

再调用method方法,在传入参数时,传入指定数据,再使用函数时接口来作为参数(类似于匿名内部类)

public class Myclass{
	T method(ElemType e,函数式类型 f){
		返回值 = f.唯一抽象方法(e);
	}
	
	void main(){
		method(e,()->{实现方法作用})
	}
}

1. Supplier生产型接口

T get():用来生产一个指定类型的数据对象

ElemType method(Supplier sup){
	return sup.get();
}
void main(){
	method(()->{return new ElemType();})
}

2. Consumer消费型接口

void accept(ElemTpte e):用来使用一个方法,使用完就完了,并没有返回结果

Consumer andThen(consumer):一个消费完以后再消费另一个。相当于对一个数据操作完成后再进行另一个操作。比如:我们对一个字符串先进行全部大写操作,再进行小写操作。两者是顺序进行的

void method(ElemType e,Consumer con){
	con.accept(e);
}
void main(){
	ElemType elem;
	method(elem,(lelem)->{对lelem进行一系列操作;});
}

3. Predicate判断型接口

boolean test(ElemType e):对传入数据按照自己规则进行判断是否符合

Predicate and(predicate):**对数据进行两次判断,是“且”的逻辑关系

Predicate or(predicate):“或”的逻辑关系

**Boolean negate()**对得出的结果进行取反操作,“非”的逻辑关系

boolean method(ElemType e,Predicate pre){
	return pre.test(e);
}
void main(){
	ElemType e;
	method(e,(elem)->{判断elem是否xxx;});
}

4. Function转换型接口

ElemTypeB apply(ElemTypeA):对传入数据进行转换,将ElemTypeA转成ElemTypeB类型

Function andThen(function)

void method(ElemTypeA a,Function fun){
	fun.apply(a)//将a的数据类型(ElemTypeA)转成ElemTypeB,即:Function接口的泛型由第一															个转成第二个
}
void main(){
	ElemTypeA a;
	method(a,(elema)->{return a转成ElemTypeB类型});
}

你可能感兴趣的:(函数式接口,java,开发语言,后端)