首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何一般地传递list<object>参数

如何一般地传递list<object>参数
EN

Stack Overflow用户
提问于 2012-04-17 23:11:46
回答 2查看 132关注 0票数 0

这是我的泛型构造器

代码语言:javascript
运行
复制
public TreeContainer(Class<T> type, Object parentPID, List<Object> childrensPID) throws IllegalArgumentException {
    super(type);
    this.parentPID = parentPID;
    this.childrensPID = childrensPID;
}

这是我的bean (带有getter setter)

代码语言:javascript
运行
复制
public class DirectoryBean implements Serializable {
      private long id;
      private String name;
      private DirectoryBean parent;
      private List<DirectoryBean> childrens;    
}

我创建了一个新的树形容器,如下所示

代码语言:javascript
运行
复制
TreeContainer<DirectoryBean> treeContainer = new TreeContainer<DirectoryBean>(DirectoryBean.class,"parent", "childrens" );

但是"childrens“参数是非法的,在这种情况下如何传递列表参数呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-17 23:16:25

您的构造函数需要如下内容

代码语言:javascript
运行
复制
List<Object> childrensPID

但是您正在传递一个字符串"childrens“。您可以通过将其放入列表中来绕过它。

代码语言:javascript
运行
复制
List<Object> childrens = new ArrayList<Object>();
childrens.add("childrens");
new TreeContainer<DirectoryBean>(DirectoryBean.class,"parent", childrens );
票数 1
EN

Stack Overflow用户

发布于 2012-04-17 23:13:44

可能足以将其更改为? extends Object。但是,这里使用泛型的目的是限制数据类型的范围。你最好这样做:

? extends BeanBaseObject

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10193918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档