Javagenerics和generics类型

我有一个类ExtA,它包含一个filter函数来过滤ArrayList:

public ExtA filt(...) { //code } 

当我编译它给我错误:找不到符号 – 类T.为什么会这样?

你必须告诉它,在这种情况下T是generics类型:

 public  ExtA filt(Func a) 

您使用符号T声明了接口,但该符号仅在接口声明本身中有效。 您在方法中使用的T是不同的T 您必须再次声明它,因为该方法未在接口声明中实现。

您必须将参数放在方法上:

 public  ExtA filt(Func a) { // method code }