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

Pre*_*raj 5 java generics

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

 public interface Foo<T> {  
     boolean apply(T t);  
 }
Run Code Online (Sandbox Code Playgroud)

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

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

你能建议正确的方法吗?

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

Kei*_*thS 10

这不行吗?

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