无法解析方法java.util.List <s>

时间:2015-11-27 17:28:47

标签: java list generics interface iterable

我遇到了以下问题。我想用以下方法覆盖超类方法:

protected<S extends T> List<S> save(List<S> entities) 

方法签名。我想添加一些处理,然后拨打super.save(entities) 问题是,外部库也有protected<S extends T> Iterable<S> save (Iterable<S> entities)方法。当我尝试调用super.save(实体)时,我面临Cannot resolve method java.util.List<S>错误消息。你有什么线索可以解决它吗?

编辑: 好的,我们有这样的接口:

public interface SomeInterface<T> {

  <S extends T> S save(S var1);
  <S extends T> Iterable<S> save(Iterable<S> entities);
}

然后像这样抽象类:

public abstract class AbstractClass<T> implements SomeInterface<T> {
  @Override public <S extends T> S save(S var1) {
    return null;
  }

  @Override public <S extends T> Iterable<S> save(Iterable<S> entities) {
    return null;
  }
  public <S extends T> List<S> save(List<S> entities) {
    return null;
  }

  protected abstract void someAbstractMethod();
}

我想用自己的一些装饰方法实现自己的实现(对于这个简单的例子,它是方法中的抽象方法:

public class AbstractClassImpl<T> extends AbstractClass<T> {

  @Override public <S extends T> S save(S var1) {
    someAbstractMethod();
    return super.save(var1);
  }

  @Override public <S extends T> Iterable<S> save(Iterable<S> entities) {
    someAbstractMethod();
    return super.save(entities);
  }
  public <S extends T> List<S> save(List<S> entities) {
    someAbstractMethod();
    return super.save(entities); ...//error
  }


  @Override protected void someAbstractMethod() {

  }
}

我提到的问题出现在public <S extends T> List<S> save(List<S> entities)这种方法中。

0 个答案:

没有答案