`
RednaxelaFX
  • 浏览: 3047613 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

不能对Iterator<E>使用for-each循环……

    博客分类:
  • Java
阅读更多
好吧,其实我早就知道了。我也不是第一个抱怨这问题的,而且我肯定不是最后一个。
这真是太可恶了!我只想发一帖来解一下气……

Java 5新增加的for-each循环只能对Iterable<E>或者数组使用。注意了,数组并不是Iterable<E>,它是作为特例来实现的。所以别说不能拿Iterator<E>来做for-each,要是想把数组作为参数传递给一个接受Iterable<E>的方法,还非得用java.util.Arrays.asList()来包装一下。

啊啊太不爽了。

可恶,现在在写的一个程序,别人已经写好的部分有几个方法返回Iterator<E>过来,我真宁可它返回过来的是容器本身……那样至少我还能用for-each;至少返回个Collection<E>也好,这个接口也继承自Iterable<E>啊……郁闷。

……我要把那方法的signature改掉。回头被投诉了的话再说……=_=||||
分享到:
评论
2 楼 RednaxelaFX 2008-04-11  
那iterator就是传说中的迭代器……用C++的话,如果用STL容器也应该经常会碰到这类玩意儿
1 楼 lwwin 2008-04-10  
完全不知道发生了什么事情…………|||

没事,偶连ITERATOR是什么也都不理解呢-v-+ 小白一只,路过……

相关推荐

    The Art of Assembly Language Programming

    The 80x86 MOV Instruction&lt;br&gt;4.8 - Some Final Comments on the MOV Instructions&lt;br&gt;&lt;br&gt;4.9 Laboratory Exercises&lt;br&gt;4.9.1 The UCR Standard Library for 80x86 Assembly Language Programmers&lt;br&gt;4.9.2 ...

    Strust2的if-else <tr></tr>用法

    在这个例子中,`&lt;s:iterator&gt;`标签遍历一个名为`listOfObjects`的集合,`&lt;s:if&gt;`和`&lt;s:else&gt;`标签则根据`displayRow`变量的值决定是否渲染`&lt;tr&gt;`标签。`&lt;s:property&gt;`标签用于输出对象的属性值。 需要注意的是,`...

    struts2 标签库 帮助文档

    &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-----超链接,类似于html里的&lt;a&gt;&lt;/a&gt; 3. &lt;s:...

    #include 的用法

    ### #include&lt;vector&gt; 的用法详解 在C++编程语言中,`#include&lt;vector&gt;` 是一个非常重要的头文件,它提供了动态数组的功能实现——即 `std::vector` 类模板。`std::vector` 是一种非常灵活且高效的数据结构,它可以...

    Java for-each循环使用难题2例(高级使用方法)

    然而,对于for-each循环的高级使用和某些特定情况,很多开发者可能并不完全了解。以下将深入探讨两个示例,以揭示for-each循环的一些不寻常的特性和问题。 **高级循环问题1** 首先来看第一个问题,尝试使用for-...

    c语言时间片

    &lt;br&gt;&lt;br&gt;&lt;br&gt;/******************************************************************************************&lt;br&gt;*&lt;br&gt;* 实验一 时间片轮转算法模拟程序&lt;br&gt;* writen by daysky&lt;br&gt;* 2007-11-19&lt;br&gt;*&lt;br&gt;**********...

    Effective STL(中文)

    在删除选项中仔细选择&lt;br&gt;条款10:注意分配器的协定和约束&lt;br&gt;条款11:理解自定义分配器的正确用法&lt;br&gt;条款12:对STL容器线程安全性的期待现实一些&lt;br&gt;vector和string&lt;br&gt;条款13:尽量使用vector和string来代替动态...

    iterator嵌套,struts2

    内层`iterator`的`value`设为`value`,因为外层`iterator`遍历的是键值对,所以`value`就是当前日期对应的`List&lt;Timereport_info&gt;`。内层`iterator`的`status`属性用于跟踪遍历状态,如索引等。 请注意,`&lt;s:...

    druid监控多数据源1

    &lt;param-value&gt;*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*&lt;/param-value&gt; &lt;/init-param&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;druidWebStatFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter...

    Visual C++ 编程资源大全(英文源码 DLL)

    1,01.zip&lt;br&gt;Dialogs in DLL&lt;br&gt;在DLL中实现对话框(5KB)&lt;END&gt;&lt;br&gt;2,02.zip&lt;br&gt;Export dialogs in MFC Extension DLLs&lt;br&gt;在MFC扩充DLL中输出对话框(12KB)&lt;END&gt;&lt;br&gt;3,03.zip&lt;br&gt;Remapping resource script ID's&lt;br&gt;...

    FileUpload组件使用方法.docx

    Iterator&lt;FileItem&gt; i = fu.getItemIterator(request); while (i.hasNext()) { FileItem fi = i.next(); String fileName = fi.getName(); fi.write(new File(uploadPath + fileName)); // replace "a.txt" with ...

    网络安全业务竞赛

    竞赛题目#include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;ctype.h&gt; #include &lt;cstdlib&gt; #include &lt;cmath&gt; #include &lt;climits&gt; #include &lt;ctime&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;deque&gt; #...

    c++万能头文件(包含所有其他头文件)#include<bits/stdc++.h> 注:此cpp文件包含万能头文件以及基本框架

    #include &lt;iterator&gt; #include &lt;limits&gt; #include &lt;list&gt; #include &lt;locale&gt; #include &lt;map&gt; #include &lt;memory&gt; #include &lt;new&gt; #include &lt;numeric&gt; #include &lt;ostream&gt; #include &lt;queue&gt; #include &lt;set&gt; #include ...

    C++ Standard Library: A Tutorial and Reference

    STL Algorithms&lt;br/&gt;&lt;br/&gt;9.1 Algorithm Header Files&lt;br/&gt;&lt;br/&gt;9.2 Algorithm Overview&lt;br/&gt;&lt;br/&gt;9.3 Auxiliary Functions&lt;br/&gt;&lt;br/&gt;9.4 The &lt;br/&gt;&lt;br/&gt;9.5 Nonmodifying Algorithms&lt;br/&gt;&lt;br/&gt;9.6 Modifying ...

    怎样遍历一个HashMap?

    &lt;br&gt;&lt;br&gt;for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) {&lt;br&gt;&lt;br&gt; Map.Entry entry = (Map.Entry) iter.next();&lt;br&gt;&lt;br&gt; Object key = entry.getKey();&lt;br&gt;&lt;br&gt; Object val = entry.getValue()...

    google interview problem of iterator

    public class EvenIterator&lt;T extends Number&gt; implements Iterator&lt;T&gt; { private Iterator&lt;T&gt; iterator; private boolean hasEven; private T evenValue; public EvenIterator(Iterator&lt;T&gt; iterator) { this....

    MyEclipse下SSH配置详细步骤及异常处理

    Manager.getInstance().getConfiguration().getActionConfigs().keySet().iterator().next().substring(1)}"/&gt; &lt;/bean&gt; ``` ### 5. 配置Struts2 创建`struts.xml`配置文件,定义Action、结果类型和其他全局设置。 ...

    java for循环与增强for循环

    增强for循环的唯一缺点是,在遍历集合过程中,不能对集合本身进行操作。例如: ```java Set&lt;String&gt; set = new HashSet&lt;String&gt;(); for (String str : set) { set.remove(str); // 错误! } ``` 这将引发一个...

    把excel导入List中行也为list

    List&lt;List&lt;String&gt;&gt; dataList = new ArrayList&lt;&gt;(); Iterator&lt;Row&gt; rowIterator = sheet.iterator(); while (rowIterator.hasNext()) { Row row = rowIterator.next(); if (row.getRowNum() == 0) { // 跳过...

    C++头文件一览.txt

    - `sort(bidirectional_iterator first, bidirectional_iterator last)`:对区间进行排序。 ##### 2. `&lt;bitset&gt;` - **用途**:提供了位集的操作支持。 ##### 3. `&lt;cctype&gt;`(与`&lt;ctype.h&gt;`类似) - **用途**:...

Global site tag (gtag.js) - Google Analytics