Java 约束的泛型集合异常

Java 约束的泛型集合异常,java,generics,Java,Generics,我正在编写一些使用JSR-303验证来测试请求对象的服务代码。我想做的是在验证失败时抛出一个自定义RuntimeException,其中包含ConstraintViolations的Set 我的所有请求对象最终都实现了相同的接口,让我们调用它request。我认为有一个实现了Request的AbstractRequest,然后是AbstractRequest的一系列实现,例如MyRequest 作为例外,我尝试做的是: public class RequestViolationException

我正在编写一些使用JSR-303验证来测试请求对象的服务代码。我想做的是在验证失败时抛出一个自定义RuntimeException,其中包含
ConstraintViolations
Set

我的所有请求对象最终都实现了相同的接口,让我们调用它
request
。我认为有一个实现了
Request
AbstractRequest
,然后是
AbstractRequest
的一系列实现,例如
MyRequest

作为例外,我尝试做的是:

public class RequestViolationException extends RuntimeException {
  private Set<ConstraintViolation<? extends Request>> violations;

  public <T extends Request> RequestViolationException(Set<ConstraintViolation<T>> newViolations) {
    this.violations = newViolations;
  }
}
公共类RequestViolationException扩展了RuntimeException{

私有集不能使用泛型扩展异常:

事实上@JGilardi是正确的,你的构造函数接受
,但你试图将它分配给实例变量
违规
,这是
我知道你不能扩展带有异常的泛型,但我想要的是集合上的泛型,而不是异常。我想问的是,是否有一种方法可以拥有一组超级类/接口,我可以在其中轻松传递一组集合/超类。
Set<ConstraintViolation<MyRequest>> violations = validator.validate(myRequest);
if (violations.size() > 0) {
  throw new RequestViolationException(violations);
}