A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴波 中级黑马   /  2013-5-21 16:19  /  1321 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 吴波 于 2013-5-21 17:13 编辑

数组中能存放对象吗?
集合中能存放基本数据类型吗?
求详细解释,越详细越好。。。

4 个回复

倒序浏览
数组可以存储对象啊 确切的说数组中存储的是对象的引用
如:
class Person
{
}
Person p1=new Person();
Person p2=new Person();
Person[] persons=new Person(){p1,p2};
集合中是专门用来存引用数据类型的 不能存储基本数据类型,将基本数据类型装箱后就能存在集合中了
回复 使用道具 举报
java语言中,数组是一种最简单的复合数据类型。数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组。个人感觉数组中是不能存对象的(有一些特殊的除外)但我看了下http://blog.csdn.net/solidwang/article/details/4484130,感觉自己的理解又有点不对 集合应该是可以存放基本数据类型的,因为我现在还没遇到集合还不能存的基本数据类型(可能是我接触的面还太窄吧)个人感觉
回复 使用道具 举报
都可以,对象装进去的是引用,基本数据类型,会自动装箱
回复 使用道具 举报
注意:

集合时不能存储基本数据类型的。

List<int> list1 = new ArrayList<int>(); //这种写法是错误的

List<Integer> list2 = new ArrayList<Integer>();//这样才可以
如果是这样的情况:
list2.add(1);这样是可以的。因为jdk1.5的新特性,直接将基本数据类型装箱了。变成对象了

另外一个容易误解的地方:
int []arr = {1,4,66,22};
list<int[]> list3 = new ArrayList<int[]>();//这个地方为什么可以这么写呢。
因为这个地方存储的是数组(数组是对象)。就可以很好的理解了

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马