泛型 - 将列表<object>的类作为参数传递给方法

时间:2016-04-14 11:00:05

标签: java generics

我知道类似的问题已经在这里了,但我解决了一个问题而面对另一个问题,所以我想得到具体的答案。

我有方法List<Object> findObjects(String groupName),必须根据情况返回不同的对象类型。所有这些对象的类都是AbstractEntity类的子级。

我用这种方式解决了问题:

public <T extends AbstractEntity> List<T> findObjects(String groupName, Class<List<T>> type) { 
   List<T> result = new ArrayList<>();
   if ( ... )
      result = type.cast(service1.findObjectsType1());
   else if ( ... )
      result = type.cast(service2.findObjectsType2());
   return result;
}

现在我不能用另一种方法调用这个方法:

List<Object1> obs1 = findObjects("group name", ... ????);

作为第二个参数,我必须传递什么?

也许第一种解决方案不正确,我必须以另一种方式解决这个问题?

0 个答案:

没有答案