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的一个用例)并不像列表。这个答案本应触及问题的核心问题。简单地修复界面是没有多大帮助的。好的答案——也许考虑删除第一段。