黑马程序员技术交流社区
标题:
关于迭代器的问题
[打印本页]
作者:
蓝枫
时间:
2014-3-29 20:55
标题:
关于迭代器的问题
import java.util.*;
class ListDemo
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
//演示列表迭代器
ArrayList a1 = new ArrayList();
//添加元素
a1.add("java01");
a1.add("java02");
a1.add("java03");
//在迭代过程中,准备添加或删除元素
Iterator it =a1.iterator();
while(it.hasNext())
{
Object obj=it.next();//这个地方为什么用Object obj,不太明白!可以帮忙解释一下吗?
if(obj.equals("java02"))
it.remove();
sop("obj="+obj);
}
sop(a1);
}
}
复制代码
Object obj=it.next();//这个地方为什么用Object obj,不太明白!可以帮忙解释一下吗?
作者:
Up↑Lee↗
时间:
2014-3-29 22:33
本帖最后由 Up↑Lee↗ 于 2014-3-29 22:40 编辑
因为你所蒋传进来的对象的类型是不确定的,所以采用父类应用,选择Object作为父类,理解为多态!用毕老师的话就是他是上帝,可以接受所有子类对象
作者:
╰つ
时间:
2014-3-29 22:39
集合即可以存String,对象...... 因为迭代的时候,不知道它的具体类型是什么,所以要使用object
作者:
安辉林
时间:
2014-3-29 22:40
因为你的集合没有指定数据类型,所以用父类Object来接收,如果你在定义集合的时候定义了泛型,如:ArrayList<String> a1 = new ArrayList<String>(); 那么就可以直接用String 类型来接收了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2