java-具体内容如下,为什么呀?

作者:用户 来源:互联网 浏览:291 次 时间:2016-04-12 17:43:54

java

java-具体内容如下,为什么呀? - 摘要: 具体内容如下,为什么呀?importjava.util.List;importjava.util.ArrayList;importjava.util.Iterator;publicclassItera

问题描述

具体内容如下,为什么呀?

import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
public class IteratorDemo02{
public static void main(String args[]){
List all= new ArrayList() ; //
all.add(""hello"") ;
all.add(""_"") ;
all.add(""world"") ;
Iterator iter = all.iterator() ; // 为Iterator接口实例化
while(iter.hasNext()){ // 判断是否有内容
String str = iter.next() ;
if(""_"".equals(str)){
iter.remove() ; // 删除元素

}else{
System.out.println(str) ; // 输出内容
}
}
System.out.println(""删除之后的集合:"" + all) ;
}

这个程序为什么要写成String str = iter.next()?而不可以直接写成if(""_"".equals(iter.next()))和System.out.println(iter.next()) 呢?

解决方案

首先,我先说下你程序里面出现的问题:
iter.next(),返回的是一个Iterator对象,所以String str = iter.next() 这句要么写成
String str =(String) iter.next() ,要么写成 Object str = iter.next().
第二,关于你的问题,你先,迭代器中让你先在判断中next了,然后你在系统输出再next,这肯定是有问题的,会报java.util.NoSuchElementException错。
最后,还是建议先学下Java基础。别盲目的敲代码

解决方案二:

iter.next()返回的是一个E,就是一个泛型变量,不是iterator对象,这个你应该使用泛型的。
java-api的对这个next()解释:Returns the next element in the iteration.

【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击
云栖社区(yq.aliyun.com)为您免费提供java-具体内容如下,为什么呀?相关信息,包括 java 的信息 ,所有java-具体内容如下,为什么呀?版权归作者所有,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。 该页面h5页面的地址是:https://m.aliyun.com/yunqi/wenzhang/show_99259,您可以点击java-具体内容如下,为什么呀?-手机站访问。
KubeCon2018西雅图在前线(一):云原生概念已经深入人心
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备

热点导航