Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Iterable<;是什么意思&燃气轮机;做_Java_Iterable - Fatal编程技术网

Java Iterable<;是什么意思&燃气轮机;做

Java Iterable<;是什么意思&燃气轮机;做,java,iterable,Java,Iterable,我们正在学校做一个音乐播放器项目,我们有一个播放列表课程,但是这个课程实现了“Iterable” 这到底是什么意思?我所知道的是“Iterable”贯穿了“某物”的列表,对吗 public class Playlist implements Iterable<Title> 公共类播放列表实现Iterable 它的界面。从docs.oracle.com: public interface Iterable 实现此接口允许对象成为 “foreach”语句,其中T是 迭代器 所以你的问题

我们正在学校做一个音乐播放器项目,我们有一个播放列表课程,但是这个课程实现了“
Iterable

这到底是什么意思?我所知道的是“
Iterable
”贯穿了“某物”的列表,对吗

public class Playlist implements Iterable<Title>
公共类播放列表实现Iterable

它的界面。从docs.oracle.com:

public interface Iterable

实现此接口允许对象成为 “foreach”语句,其中T是 迭代器


所以你的问题的答案是——是的,你的假设是正确的。

这是界面。从docs.oracle.com:

public interface Iterable

实现此接口允许对象成为 “foreach”语句,其中T是 迭代器


因此,你的问题的答案是——是的,你的假设是正确的。

Iterable
本身没有任何作用。它是一个定义3种方法的接口(在Java8中)。实现
Iterable
的类必须实现这些方法(或使用默认实现)。

Iterable
本身不做任何事情。它是一个定义3种方法的接口(在Java8中)。实现Iterable的类必须实现这些方法(或使用默认实现)。

声明
类播放列表实现Iterable
意味着播放列表以某种方式包含标题列表或类似内容

这意味着你可以写:

for (Title x : myPlaylist) {
    ... do something with the Title ...
}
从技术上讲,为了实现这一点,Playlist类需要有一个方法
public Iterator Iterator()
,以便Java知道如何在播放列表的所有标题上进行循环。而
告诉Java循环的元素是标题对象,而不是数字、字符串、播放列表或其他任何东西

通常,
实现X
意味着您的类拥有X定义的所有方法,其中一些方法没有固定的类型,而是一些可变的方面,您希望在这些方面使用类型Y


接口
Iterator
定义了方法
public Iterator Iterator()
,其中T是接口的可变部分。当Playlist实现Iterator时,您会得到一个具体版本的方法
public Iterator Iterator()
,该方法允许您在标题上循环。

声明
类Playlist实现Iterable
意味着播放列表以某种方式包含标题列表或类似内容

这意味着你可以写:

for (Title x : myPlaylist) {
    ... do something with the Title ...
}
从技术上讲,为了实现这一点,Playlist类需要有一个方法
public Iterator Iterator()
,以便Java知道如何在播放列表的所有标题上进行循环。而
告诉Java循环的元素是标题对象,而不是数字、字符串、播放列表或其他任何东西

通常,
实现X
意味着您的类拥有X定义的所有方法,其中一些方法没有固定的类型,而是一些可变的方面,您希望在这些方面使用类型Y


接口
Iterator
定义了方法
public Iterator Iterator()
,其中T是接口的可变部分。当Playlist实现迭代器时,您将获得方法的具体版本
public Iterator Iterator()
,该方法允许您在标题上循环。

是的,没错。迭代器是一种模式,它允许您在事物/对象的列表/数组中导航。中明确说明了
Iterable
的用法。一个
Iterable
对象表明它可以通过
Iterator()
方法返回一个
Iterator
。这允许客户端遍历其元素。@Palle引用的Javadocs是否没有足够的解释性?是的,没错。迭代器是一种模式,它允许您在事物/对象的列表/数组中导航。中明确说明了
Iterable
的用法。一个
Iterable
对象表明它可以通过
Iterator()
方法返回一个
Iterator
。这允许客户机遍历其元素。如果@pall引用的Javadocs没有足够的解释性?默认的“编排”,这是一个比“实现”更精确的术语。默认方法(应该)将实现的细节留给类,只处理抽象行为的编排。默认的“编排”,一个比“实现”更准确的术语。默认方法(应该)将实现的细节留给类,只处理抽象行为的编排。我质疑
Iterable
建立“一个列表……或类似的sonmething[sic]的定义。“类似的东西”正是问题所要问的,从外部源获取一系列事件(Iterable的一个用例)并不像列表。这个答案本应触及问题的核心问题。简单地重申界面是什么,并不能提供太多的帮助。好的答案——也许考虑删除第一段。我质疑“代码>可重复的< /代码>的定义:建立一个列表或类似的方法。”“类似的”正是问题的答案。从外部源获取一系列事件(Iterable的一个用例)并不像列表。这个答案本应触及问题的核心问题。简单地修复界面是没有多大帮助的。好的答案——也许考虑删除第一段。