这是我的泛型构造器
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;
}我创建了一个新的树形容器,如下所示
TreeContainer<DirectoryBean> treeContainer = new TreeContainer<DirectoryBean>(DirectoryBean.class,"parent", "childrens" );但是"childrens“参数是非法的,在这种情况下如何传递列表参数呢?
发布于 2012-04-17 23:16:25
您的构造函数需要如下内容
List<Object> childrensPID但是您正在传递一个字符串"childrens“。您可以通过将其放入列表中来绕过它。
List<Object> childrens = new ArrayList<Object>();
childrens.add("childrens");
new TreeContainer<DirectoryBean>(DirectoryBean.class,"parent", childrens );发布于 2012-04-17 23:13:44
可能足以将其更改为? extends Object。但是,这里使用泛型的目的是限制数据类型的范围。你最好这样做:
? extends BeanBaseObject
https://stackoverflow.com/questions/10193918
复制相似问题