sdg*_*sdh 1 java generics list subclass
假设我有一个
ArrayList<Fruit>
Run Code Online (Sandbox Code Playgroud)
我想获得Fruit的任何给定子类的列表中的所有元素,例如
ArrayList<Apple>
Run Code Online (Sandbox Code Playgroud)
C#似乎有一个相当方便
OfType<T>()
Run Code Online (Sandbox Code Playgroud)
方法.在Java中有没有相同的方法呢?
干杯
public static <T> Collection<T> ofType(Collection<? super T> col, Class<T> type) {
final List<T> ret = new ArrayList<T>();
for (Object o : col) if (type.isInstance(o)) ret.add((T)o);
return ret;
}
Run Code Online (Sandbox Code Playgroud)