首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ArrayList of ArrayList

ArrayList of ArrayList
EN

Stack Overflow用户
提问于 2014-03-26 10:28:37
回答 2查看 108关注 0票数 0

快速问答。假设我将ArrayList bigArrayList定义为ArrayList of ArrayList。我的bigArrayList可以包含ArrayList以外的其他数据类型吗?其他数据类型,如intString、对象或简单数组?

创建ArrayList的示例代码:

代码语言:javascript
复制
    ArrayList<ArrayList<String>> bigArrayList = new ArrayList<ArrayList<String>>();
    ArrayList<String> smallArrayList = new ArrayList<String>();
    bigArrayList.add(smallArrayList);

    int myInt = 12;
    bigArrayList.add(smallArrayList); //Acceptable??

此外,一旦smallArrayList添加到bigArrayList中,我将如何修改它呢?提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-26 10:34:30

否,ArrayList of ArrayLists不能包含除ArrayList以外的其他元素。如果尝试添加其他内容,您将得到一个编译器错误。

但是,您可以在没有任何类型信息的情况下将bigArrayList定义为ArrayList bigArrayList= new ArrayList();,并且可以在其中存储任何您想要的内容。这是非常危险的做法,因此泛型。

票数 3
EN

Stack Overflow用户

发布于 2014-03-26 10:51:50

在集合中使用Generics ( "< >“东西)的目的是告诉编译器,您只将特定类型(及其子类)对象放入其中。因此,您不能将其他类型放入bigArrayList中。您可以通过不使用Generics来解决这个问题,就像darijan建议的那样。他还警告说,这是不建议的。

对于在smallArrayList添加到bigArrayList之后修改它的代码,要么修改所需的代码从bigArrayList恢复smallArrayList的引用(例如bigArrayList.get(0)bigArrayList.get(0)),要么保留smallArrayList引用并将其传递给修改代码。

顺便说一句,你想用代码达到什么目的?至少可以说,你在这里试图做的事情是相当不寻常的。

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

https://stackoverflow.com/questions/22658111

复制
相关文章

相似问题

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