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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 薛波 中级黑马   /  2012-3-30 16:22  /  2135 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

List<Person> list = new ArrayList<Person>();
Person[]  pro = (Person[])list.toArray();
toArray()返回的是Object数组,把他强转为Person数组为什么不可以呀
执行这句会出现类型转换异常。
为什么数组不能强转呢?

3 个回复

倒序浏览
jdk 1.7就可以了,旧的版本不支持。
回复 使用道具 举报
数组是存基本数据类型的,集合是专门存对象的(存的是对象的引用)
基本数据类型所占内存空间是固定的,你如果强转肯定出问题
回复 使用道具 举报
数组里的内容不是存储在堆内存中的。只是在那做了一个引用。
所以不具体分配内存。强转是针对于基本数据类型而言的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马