Java泛型和泛型类型

use*_*119 1 java generics types

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

public ExtA<T> filt(...)
{

 //code


}
Run Code Online (Sandbox Code Playgroud)

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

Sib*_*bbo 5

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

public <T> ExtA<T> filt(Func<T, Boolean> a)
Run Code Online (Sandbox Code Playgroud)

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