我正在做的部分事情涉及一个具有两个泛型类型参数(T1、T2)和一个参数的函数,它是一个集合。我需要获取一个子集合或集合的子列表,其中包含实现或继承自/扩展 T2 的集合的所有成员。
我最初的想法是按照对我来说似乎很明显的方式来做,那就是:
<T1, T2> void someMethod(Collection<T1> collection)
{
List<T2> sublist = new ArrayList<T2>();
for(T1 i : collection)
if(i instanceof T2)
sublist.add((T2)i);
}
但是 instanceof 不能用于 Java 中的泛型类型。
感谢您的帮助^_^