La mise en œuvre Java Iterable Interface
Question
public class C1 outils itératifs { Liste LinkedList privée; public static class NC1 { ... } ... x Iterator publique iterator () { retourner list.iterator (); } }
mais couine Eclipse (à la ligne x-ed):
- The return type is incompatible with Iterable<NC1>.iterator()
- implements java.lang.Iterable<NC1>.iterator
Je ne comprends pas où l'erreur est. aider quelqu'un peut?
La solution
Vous devez changer NC1
pour C1.NC1
. Les compiles suivants:
import java.util.*;
public class C1 implements Iterable<C1.NC1> {
private LinkedList<NC1> list;
public static class NC1 {
}
public Iterator<C1.NC1> iterator() {
return list.iterator();
}
}
Vous pouvez import static yourpackage.C1.NC1
.
Autres conseils
ce code compile très bien:
public class C1 implements Iterable<NC1> {
public static class NC1 {
}
private LinkedList<NC1> list;
public Iterator<NC1> iterator() {
return this.list.iterator();
}
}
, il doit y avoir une erreur dans une partie que vous omettez
EDIT:
après avoir vu l'autre réponse:
oui, je les importations d'automobiles en marche, vous avez donc besoin de cette ligne:
import com.yourpackage.C1.NC1;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow