Java 这个泛型函数做什么?
我有一个Java 这个泛型函数做什么?,java,list,generics,syntax,Java,List,Generics,Syntax,我有一个类来创建一个不可变列表,使用泛型和递归来提高性能,这两个类有一个我无法理解的方法: public <E2> ImmutableList<E2> transform(Function<? super E, ? extends E2> fn) { return tail == null ? new ImmutableList<E2>() : new ImmutableList<
类
来创建一个不可变列表
,使用泛型和递归来提高性能,这两个类有一个我无法理解的方法:
public <E2> ImmutableList<E2> transform(Function<? super E, ? extends E2> fn) {
return tail == null
? new ImmutableList<E2>()
: new ImmutableList<E2>(fn.apply(head), tail.transform(fn));
}
这是功能界面:
public interface Function<A, B> {
B apply(A value);
}
公共接口功能{
B适用(A值);
}
转换
接受从E
到E2
的函数(或者更准确地说,从E
或从E
到E2
的超类型或E2
的子类型)Function
是一个接口,具有一个名为apply()
的方法fn.apply()
接受类型为E
的参数,并返回类型为E2
的参数
transform
将该函数应用于执行它的列表的所有元素,因此它从执行它的输入ImmutableList
生成一个ImmutableList
是一个泛型类型参数,它表示transform
方法返回的列表中包含的元素的类型
public interface Function<A, B> {
B apply(A value);
}