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

Java 如何在泛型中使用多个上界,java,generics,Java,Generics,我有一个接口Foo,它有一个泛型类型- public interface Foo<T> { boolean apply(T t); } 公共接口Foo{ 布尔应用(T); } 有另一个实现这个接口的类Bar,但我想要的是Bar的泛型类型应该是类型接口a和B的集合,下面的定义给出了它的编译器错误- public class Bar implements Foo<Collection<? extends A & B>>{ @O

我有一个接口Foo,它有一个泛型类型-

 public interface Foo<T> {  
     boolean apply(T t);  
 }
公共接口Foo{
布尔应用(T);
}
有另一个实现这个接口的类Bar,但我想要的是Bar的泛型类型应该是类型接口a和B的集合,下面的定义给出了它的编译器错误-

public class Bar implements Foo<Collection<? extends A & B>>{
  @Override
  public boolean apply(Collection<? extends A & B> collect){
   ...
  }  
}
public类Bar实现了Foo这不管用吗

public class Bar<T extends A & B> implements Foo<Collection<T>>{
  @Override
  public boolean apply(Collection<T> collect){
   ...
  }  
}
公共类栏实现了Foo{
@凌驾
公共布尔应用(集合-集合){
...
}  
}
apply()需要是公共的。;)