在Java中返回接口和列表的类型和参数?

| 我正在尝试在三个类中编写一个函数,该函数将比较同一类的两个对象列表。 大概的概念
List<Toads> aTList = ...
List<Toads> bTList = ...
List<Toads> tResult = compare(aTList , bTList ); 

List<Frogs> aFList = ...
List<Frogs> bFList = ...
List<Frogs> fResult = compare(aFList , bFList );
注意:
Toad
Frog
都可以扩展接口,以提供进行比较的必要功能 问题是,比较之后,我想使用返回的列表(
tResult
fResult
)及其特定类型(
Toad
Frog
)。 我尝试了类似此处指定的Java接口和返回类型的操作,但无法获取所有类型的数据。 我还尝试使用诸如
<? extends Amphibian>
这样的参数并将返回类型返回为
compare
,但是返回的类型为
Amphibian
。     
已邀请:
public <T extends Amphibian> List<T> compare(List<T> a, List<T> b);
    
也许这就是您要找的东西?
public class AmphibianComparer<T extends Amphibian> {
  public List<T> compare(List<T> listOne, List<T> listTwo) {
    ...
  }
}
    
您实际上并没有给出
compare
的签名。这是你想要的吗?
<T extends YourInterface> T compare(List<T>, List<T>)
    

要回复问题请先登录注册