黑马程序员技术交流社区
标题:
ArrayList的存储问题和类型转化问题
[打印本页]
作者:
今生2013
时间:
2014-5-21 21:12
标题:
ArrayList的存储问题和类型转化问题
本帖最后由 今生2013 于 2014-5-21 21:54 编辑
class GenericDemo
{
public static void main(String[] args)
{
ArrayList al = new ArrayList();
al.add("abc01");
al.add("abc0991");
al.add("abc014");
al.add(4); //al.add(new Integer(4));
System.out.println(al.get(0).getClass());
System.out.println(al.get(3).getClass());
Iterator<String> it = al.iterator();
while(it.hasNext())
{
String s =(String)it.next();
System.out.println(s+":"+s.length());
}
}
}
个人认为:ArrayList类里的add()方接受的是Object类型,对象添加进去的时候被转化成Object类型,那为什么
调用getClass方法显示的类型还是原来的?
Student stu = new Student();
System.out.println(stu.getClass());
Person per = stu;
System.out.println(per.getClass());
再则我把对象类型转换后
调用getClass方法显示的类型也还是原来的?求解
问题:
1.存储在ArrayList的对象是原有类型,还是Object类型?
2.
为什么调用getClass方法显示的类型还是原来的?
作者:
杨韬略
时间:
2014-5-21 22:20
1.object 类型(自动封箱)
作者:
杨韬略
时间:
2014-5-21 22:22
本帖最后由 杨韬略 于 2014-5-21 22:23 编辑
2.调用的是object对象(拆箱)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2