【发布时间】:2011-08-28 08:49:01
【问题描述】:
我刚刚在一份旧试卷中发现了这个试题,并正在为即将到来的考试做准备。我想不通:
下面描述了一个人为的部分类,它实现了 Iterable 接口。这个类的唯一目的是提供一种方法来迭代属性things.
我们需要在课堂上填写两件事来完成它。这里是类
private class PartialIterableClass /*FILL IN */ {
private String[] things;
public PartialIterableClass( String[] things ){
this.things = things;
}
/*FILL IN 2*/
}
我猜它应该类似于:
private class PartialIterableClass implements Iterable<PrivateIterableClass> {
private String[] things;
public PartialIterableClass( String[] things ){
this.things = things;
}
public Iterator<PartialIterableClass> iterator( ){
return new Iterator<PartialIterableClass>( ) {
}
}
}
不过,我不确定如何充实这个问题的答案,有人可以帮忙吗?
【问题讨论】:
-
如果实现了
Comparable接口,不应该有compare()方法吗? -
您的解决方案忽略了有利于类名的问题,您应该改为实现 Comparable
。 -
您阅读本文的试卷有多“旧”?我之所以问,是因为它很可能是在 Java 5 发布之前编写的(因此,在“iterable”这个词之前意味着 Java 开发人员的
java.util.Iterable接口)。 -
抱歉,问题已解决,我打字时看错了。
-
@Loadmaster:不,不应该!但它应该有一个
compareTo()方法! :)
标签: java interface iterator iterable