如何在泛型中使用多个上界

时间:2011-02-17 20:28:47

标签: java generics

我有一个具有通用类型的接口Foo -

 public interface Foo<T> {  
     boolean apply(T t);  
 }

有另一个实现此接口的类Bar但我想要的是通用的Bar类型应该是接口A和B类型的集合,使用下面的定义它给出了编译器错误 -

public class Bar implements Foo<Collection<? extends A & B>>{
  @Override
  public boolean apply(Collection<? extends A & B> collect){
   ...
  }  
}

您能否提出正确的方法来实现这一目标?

我只能在方法级别使用多个边界?

1 个答案:

答案 0 :(得分:10)

这不会起作用吗?

public class Bar<T extends A & B> implements Foo<Collection<T>>{
  @Override
  public boolean apply(Collection<T> collect){
   ...
  }  
}