我目前有一个这样的列表:
List<Parent> parentList = new Arraylist<>;
//Code inserts elements of subclassA and subclass B into parentList above
Run Code Online (Sandbox Code Playgroud)
现在我想从parentList中提取类型为子类A的元素.我想做以下但没有错误:
List<SubclassA> extractMe = new Arraylist<>;
for (Parent parent: parentList){
if (parent.isSubclassA()){extractMe.add(parent);}
}
Run Code Online (Sandbox Code Playgroud)
我不知道怎么能这样做.我不断收到错误,我在列表中添加了错误的对象类型/类,我理解为什么,但我不知道如何更改代码以使其工作.
编辑:
错误(我重命名了类以匹配上面使用的类):
Error:(53, 20) java: no suitable method found for add(Parents.Parent)
method java.util.Collection.add(Parents.SubclassA) is not applicable
(argument mismatch; Parents.Parent cannot be converted to Parents.SubclassA)
method java.util.List.add(Parents.SubclassA) is not applicable
(argument mismatch; Parents.Parent cannot be converted to Parents.SubclassA)
Run Code Online (Sandbox Code Playgroud)