黑马程序员技术交流社区

标题: 迭代器for循环。输出it.next() [打印本页]

作者: 李会成    时间: 2013-2-3 19:46
标题: 迭代器for循环。输出it.next()
本帖最后由 李会成 于 2013-2-4 15:16 编辑

视频最后毕老师说老外用for循环来操作Iterator
视频中美编译。我按照老师写的一样写了下。编译不成功。求教要怎么写for
错误:
Lxi.java:16: 错误: 程序包a1不存在
                for (Iterator it=new a1.iterator();it.hasNext
                                       ^
注: Lxi.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
1 个错误
  1. import java.util.*;
  2. class LxiDemo
  3. {
  4. public static void main(String[] args)
  5. {
  6. method_get();
  7. }

  8. public static void method_get()
  9. {
  10. ArrayList a1=new ArrayList();
  11. a1.add("java01");
  12. a1.add("java02");
  13. a1.add("java03");
  14. a1.add("java04");
  15. for (Iterator it=new a1.iterator();it.hasNext() ; )
  16. {
  17. sop(it.next());
  18. }
  19. }
  20. public static void sop(Object obj)
  21. {
  22. System.out.println(obj);
  23. }
  24. }
复制代码

作者: 铿锵科技    时间: 2013-2-3 20:11
本帖最后由 铿锵科技 于 2013-2-3 20:27 编辑

import java.util.*;
class LxiDemo
{
public static void main(String[] args)
{
method_get();
}

public static void method_get()
{
ArrayList a1=new ArrayList();
a1.add("java01");
a1.add("java02");
a1.add("java03");
a1.add("java04");
for (Iterator it=new a1.iterator();it.hasNext() ; )
{
sop(it.next());
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
你多了一个new
for (Iterator it=a1.iterator()/*这里是取得a1的迭代,你new就不是取得,是新建,新建时你没有定义a1类实现iterator方法会报错*/;it.hasNext() ; )
作者: 王晓斌    时间: 2013-2-3 20:16
兄弟,lterator是接口!!!不能直接new对象
作者: 陈科宇    时间: 2013-2-4 00:55
朋友,a1.iterator()的返回值就是你要的Iterator对象,所以不需要你使用new的方式来创建。
作者: 郭冰川    时间: 2013-2-4 10:09
import java.util.*;
class LxiDemo
{
public static void main(String[] args)
{
method_get();
}

public static void method_get()
{
ArrayList a1=new ArrayList();
a1.add("java01");
a1.add("java02");
a1.add("java03");
a1.add("java04");

for (Iterator it=a1.iterator(); it.hasNext();)//这里应该写成这样
{
sop(it.next());
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}

//Iterator it=new a1.iterator();这样写肯定不对,不能new的
//注: Lxi.java使用了未经检查或不安全的操作。 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
//出现这个提示是因为没定义泛型,但是不会影响编译和运行,等以后加了泛型就不会提示了


作者: 杨杨    时间: 2013-2-4 10:21
本帖最后由 杨杨 于 2013-2-4 10:22 编辑

接口不能被实例化
new 操作符 后面一般跟类 你跟了个对象,
你对接口操作符 类对象 他们之间的关系有点混吧
作者: 李培根    时间: 2013-2-18 11:28
请勿复制他人帖子,技术分不是入学的门槛而是为了帮助大家学习而存在的。

请勿再次发此类帖子了!

此贴就关闭了。此后如有再次发现直接封禁处理,请看到此贴的会员也加以注意。

作者: 李培根    时间: 2013-2-18 11:28
请勿复制他人帖子,技术分不是入学的门槛而是为了帮助大家学习而存在的。

请勿再次发此类帖子了!

此贴就关闭了。此后如有再次发现直接封禁处理,请看到此贴的会员也加以注意。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2