黑马程序员技术交流社区
标题:
很奇怪的现象。搞不懂了。。。帮我看看。关于集合的。
[打印本页]
作者:
逝去的记忆ヽ
时间:
2012-6-14 22:29
标题:
很奇怪的现象。搞不懂了。。。帮我看看。关于集合的。
//迭代器
import java.util.*;
class IteratorDemo
{
public static void main(String[] args)
{
ArrayList al = new ArrayList();
al.add("java01");
al.add("java02");
al.add("java03");
al.add("java04");
/*
Iterator it = al.iterator();//获取迭代器,用于取出集合中的元素。
while (it.hasNext())//返回boolean型 判断集合中是否有元素。
{
sop(it.next());//取出集合中的元素。一个一个取。
}
*/
for (Iterator it = a1.iterator(); it.hasNext() ; )
{
sop(it.next());
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
在编译时出错了 ,可还是能打印出来。为什么啊 好奇怪的、
R4(DEV[SJ]NCE17P196$~YV.jpg
(36.26 KB, 下载次数: 34)
下载附件
2012-6-14 22:27 上传
作者:
王明明
时间:
2012-6-14 22:43
本帖最后由 王明明 于 2012-6-14 22:45 编辑
你这个好像刚有人问了 同样的问题
http://bbs.itheima.com/thread-17081-1-1.html
作者:
郑传庆
时间:
2012-6-14 22:45
我改了一下,是你在写代码时不小心写漏了,自己看下
import java.util.*;
class IteratorDemo {
public static void main(String[] args) {
List al = new ArrayList();
al.add("java01");
al.add("java02");
al.add("java03");
al.add("java04");
for (Iterator it = al.iterator(); it.hasNext();) {//--------------------------------你这里不小心包al(L的小写)写成a1(数字1)
sop(it.next());
}
}
public static void sop(Object obj) {
System.out.println(obj);
}
}
作者:
梁清平
时间:
2012-6-14 22:50
这个必然是先前有一份编译好的class文件。。。你运行的是先前编译好的。。。
没有编译成功必然不会生成class文件。。哪能运行的起来啊。。。毕老师讲话。。吓也得把你吓死!!!
作者:
薄炳鑫
时间:
2012-6-14 22:53
解释见代码注释,你的应该是改过后就可以正常编译了。
你说的这个问题,估计是你里面本来就有个正常的IteratorDemo.class的文件,但是你的IteratorDemo.java文件有代码中的那问题。
所以就会出现编译没有过,但是用java执行IteratorDemo.class文件过了的现象。
import java.util.*;
class IteratorDemo
{
public static void main(String[] args)
{
ArrayList al = new ArrayList();
al.add("java01");
al.add("java02");
al.add("java03");
al.add("java04");
/*
Iterator it = al.iterator();//获取迭代器,用于取出集合中的元素。
while (it.hasNext())//返回boolean型 判断集合中是否有元素。
{
sop(it.next());//取出集合中的元素。一个一个取。
}
*/
for (Iterator it = a1.iterator(); it.hasNext() ; )//这里应该al,但是你写的是a1所以编译报错。
{
sop(it.next());
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
复制代码
作者:
张頔
时间:
2012-6-14 23:09
你的al写成了a1
楼主说出错了你还能运行出结果来????
我在自己的机子上先运行了一遍错误的结果运行不出来
但是 当我把a1改过来之后运行正确 然后在故意该错了之后 也会出现楼主你这样的提示
我想是不是因为
注意:Demo.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
上边这个原因啊??
作者:
逝去的记忆ヽ
时间:
2012-6-14 23:23
谢谢大家的帮助, 我看到错误的原因了。thank you
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2