这是我的通用建设者
public TreeContainer(Class<T> type, Object parentPID, List<Object> childrensPID) throws IllegalArgumentException {
super(type);
this.parentPID = parentPID;
this.childrensPID = childrensPID;
}
这是我的bean(带有getter setter)
public class DirectoryBean implements Serializable {
private long id;
private String name;
private DirectoryBean parent;
private List<DirectoryBean> childrens;
}
我像这样创建一个新的Tree Container
TreeContainer<DirectoryBean> treeContainer = new TreeContainer<DirectoryBean>(DirectoryBean.class,"parent", "childrens" );
但是&#34;孩子们&#34;参数是非法的,我怎样才能在这种情况下传递列表参数
答案 0 :(得分:1)
将其更改为? extends Object
可能就足够了。但是,这里使用泛型的目的是限制数据类型的范围。你最好做一些事情:
? extends BeanBaseObject
答案 1 :(得分:1)
你的构造函数需要这个
List<Object> childrensPID
但是你传递的是一个字符串“孩子们”。 您可以将它放在列表中来解决它。
List<Object> childrens = new ArrayList<Object>();
childrens.add("childrens");
new TreeContainer<DirectoryBean>(DirectoryBean.class,"parent", childrens );