我们正在学校做一个音乐播放器项目,我们有一个播放列表课程,但课程实现&#34; Iterable<Title>
&#34;。
究竟是什么意思?我所知道的是&#34; Iterable <something>
&#34;浏览&#34;的东西&#34;这是正确的吗?
public class Playlist implements Iterable<Title>
答案 0 :(得分:2)
Iterable
本身什么都不做。它是一个定义3个方法的接口(在Java 8中)。实现Iterable
的类必须实现这些方法(或使用默认实现)。
答案 1 :(得分:2)
声明class Playlist implements Iterable<Title>
表示播放列表以某种方式包含标题列表或类似内容。
这意味着你可以写:
for (Title x : myPlaylist) {
... do something with the Title ...
}
从技术上讲,为了实现这一点,播放列表类需要有一个方法public Iterator<Title> iterator()
,因此Java知道如何对播放列表的所有标题进行循环。而<Title>
告诉Java,循环的元素是Title对象,而不是数字,字符串,播放列表或其他。
通常,implements X<Y>
表示您的类具有X定义的所有方法,并且这些方法中的某些方法不具有固定类型,但有些变量方面,您希望具有类型Y使用
接口Iterator<T>
定义方法public Iterator<T> iterator()
,其中T是接口的可变部分。当播放列表实现Iterator时,您将获得方法public Iterator<Title> iterator()
的具体版本,它允许您循环标题。
答案 2 :(得分:0)
它的界面。来自docs.oracle.com:
public interface Iterable<T>
实现此接口允许对象成为目标 &#34;的foreach&#34;声明,其中T是由返回的元素的类型 迭代器。
所以你问题的答案 - 是的,你的假设是正确的。