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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yangfengxiao 中级黑马   /  2012-10-17 21:05  /  1432 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

大家看一下下面的代码:
import java.util.*;
class GenericDemo
{
        public static void main(String[] args)
        {
                ArrayList al=new ArrayList();
                al.add("abc01");
                al.add("abc02");
                al.add("abc03");
                al.add("abc04");
                Iterator it=al.iterator();
                while(it.hasNext())
                {
                String s=(String )it.next();
                System.out.println(s+":"+s.length());
                }
        }
}
我不理解String s=(String )it.next();  String类不是描述字符串的吗?这里怎么当成容器使用了,String类可以作为容器吗?作为容器在内存中的内存地址应该怎么理解?

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 很给力!

查看全部评分

4 个回复

倒序浏览
String s=(String )it.next();   it.next()返回的是下一个对象,你知道这个对象是string类型的,所以强转成string,然后赋值给一个string变量。  你可以再看看关于iterator的讲解。  还有,不知道你怎么看出string是容器了? 费解。
回复 使用道具 举报
你得告诉我,怎么把String当成容器使用了。。。
回复 使用道具 举报
it.next();
看看api吧,他讲的很清楚
你的理解有误
回复 使用道具 举报
奥,对不起啊,我理解错了,我把迭代器的
while(it.hasNext())
                {
                String s=(String )it.next();
                System.out.println(s+":"+s.length());
                }
理解错了,打印s.length 理解成了打印it.length();  it里面没有length()这个方法。
对不起是我马虎了。谢谢大家的帮忙。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马