Type mismatch: cannot convert from element type Object to Parent

橙三吉。 提交于 2019-12-02 13:04:12

You are just using the 'raw type' List for your list so Java does not know that this is a list of Parent objects and can only treat it as a list of Object.

You need to use generics to specify the list type - everywhere you have List it should be List<Parent>.

So something like:

public class ParentsHolder extends Model {
    List<Parent> parents = new ArrayList<>();

    public List<Parent> getParents() {
        return parents;
    }

    public void setParents(List<Parent> parents) {
        firePropertyChange("parents", this.parents, this.parents = parents);
    }

    public void addParent(Parent p) {
        List<Parent> newlist = new ArrayList<>(parents);
        newlist.add(p);
        setParents(newlist);
    }
}

change corresponding lines to below code as:

for(Object p : parentholder.getParents())
      {
          Parent p1= (Parent)p;
           //your code .....
        }

similarily for Child class

 for(Object p : parentholder.getParents())
      {
          Child child= (Parent)p;
           //your code .....
        }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!