【问题标题】:Create a type to be used in the foreach loop. Java创建一个在 foreach 循环中使用的类型。爪哇
【发布时间】:2013-07-25 21:21:03
【问题描述】:

是否有可能在java中创建一个类型,可以在冒号之后传递到foreach循环中?如果有,怎么做?

起初我以为 foreach 只适用于数组,但后来我注意到 Lists 可以迭代。那么我的问题是,这是解释器自动执行的操作,还是可以创建我自己的可以使用的类?

【问题讨论】:

    标签: java foreach


    【解决方案1】:

    是的,只需实现Iterable 接口即可。

    来自http://docs.oracle.com/javase/6/docs/api/java/lang/Iterable.html

    实现这个接口允许一个对象成为“foreach”语句的目标。

    【讨论】:

      【解决方案2】:

      是的,这是可能的。您必须实现Iterable 接口,并且可以在增强的for 循环中使用它。

      正如文档所说:

      实现此接口允许对象成为“foreach”语句的目标。

      【讨论】:

        【解决方案3】:

        要拥有此功能,您可以实现Iterable 接口。您需要实现自己的iterator() 方法。然后,您可以使用 foreach 循环。

        【讨论】:

          【解决方案4】:

          是的。正如the Java Language Specification 中所说,您需要实现Iterable interface。如果这样做,您的类的实例可以在增强的for 循环中使用。

          Iterable 是一个非常非常简单的接口:它要求您有一个返回Iterator<T> instanceiterator 方法。

          【讨论】:

            猜你喜欢
            • 2011-12-29
            • 2016-07-21
            • 1970-01-01
            • 1970-01-01
            • 2020-06-06
            • 1970-01-01
            • 2016-03-03
            • 2018-05-24
            • 1970-01-01
            相关资源
            最近更新 更多