mc_gulasch
Erfahrenes Mitglied
Aloah,
ich hab eine Klasse Node<?>, die wiederum Node<?>s als Kinder hat, wobei die beiden ? nicht notwendigerweise die gleichen sein müssen. Kurzversion:
Über diese Nodes wird eine (zunächst Baum-) Struktur aufgebaut, die ich rekursiv ausgeben möchte:
bla
+blabla
++blablabla
+blablubb
++blablubbbla
...
Die Fehlermeldung
sagt mir leider recht wenig. Es scheint wohl mit Captures zu tun zu haben, aber die hab ich noch nicht so ganz überrissen. Hat wer ne Idee? Ich möchte ungern eine Parametrisierung mittels "Object" durchziehen, da das mal richtig hässlich ist.
ich hab eine Klasse Node<?>, die wiederum Node<?>s als Kinder hat, wobei die beiden ? nicht notwendigerweise die gleichen sein müssen. Kurzversion:
Java:
public class Node <T> implements Iterable<Node<?>>
{
private ArrayList<Node<?>> childs;
//...
public Iterator<Node<?>> iterator()
{
return childs.iterator();
}
public boolean hasChilds()
{
return !childs.isEmpty();
}
}
Über diese Nodes wird eine (zunächst Baum-) Struktur aufgebaut, die ich rekursiv ausgeben möchte:
bla
+blabla
++blablabla
+blablubb
++blablubbbla
...
Java:
public class Struktur
{
private int counter=0;
private<E> void printNode(Node<E> n)
{
for(int i=0;i<counter;i++)
System.out.print("+");
System.out.println(n.toString());
counter++;
if(n.hasChilds())
{
Iterator<?> it = n.iterator();
while(it.hasNext())
{
printNode(it.next()); //The method printNode(Node<E>) in the type Struktur is not applicable for the arguments (capture#14-of ?)
counter--;
}
}
}
Die Fehlermeldung
Code:
/The method printNode(Node<E>) in the type Struktur is not applicable for the arguments (capture#14-of ?)