Genel bağlantılı bir liste için bir yineleyici oluşturmaya çalışılıyor. Ileti başlığı ile listeyi yineleme amacıyla bir 'geçerli' düğüm oluşturmaya çalıştığımda, uyumsuz bir tür hatası alıyorum. İşte relveant hatları Java Generics uyumsuz türler linkedlist yineleyiciler
public class LinkedList<T> implements Iterable<T>
{
private node<T> headsent;
private node<T> tailsent;
public DistanceEventList()
{
headsent = new node<T>();
tailsent = new node<T>();
headsent.setnext(tailsent);
tailsent.setprevious(headsent);
}
public node<T> getheadsent()
{
return headsent;
}
...
public MyIterator<T> iterator() {
return new MyIterator<T>();
}
public class MyIterator<T> implements Iterator<T>
{
private node<T> current = getheadsent();
public T next() {
current = current.getnext();
return current.getdata();
}
private class node<T> {
private T data;
private node<T> next;
private node<T> previous;
...
public node<T> getnext()
{
return next;
}
}
}
var Ve hata Ben T iki farklı türde sunduk, ama çok kesin bilmek jenerik ile deneyimli değilim gibi
LinkedList.java:65: error: incompatible types
private node<T> current = getheadsent();
required: LinkedList<T#1>.node<T#2)
found: LinkedList<T#1>.node<T#1)
görünüyor üretti. Umarım yukarıdaki kod hata tanımlamak için birisi için yeterlidir (oldukça bağırsak). Teşekkürler!
Ah Anlıyorum, benim IDE LinkedList olarak LinkedList listeleme neden de açıklıyor:
sadece beyanı kaldırabilirsiniz. Bu aynı zamanda özel sınıf düğümü {} özel kapat düğümü {}? –
Matt
* "Bu, özel sınıf düğümü {} öğesinin yalnızca özel kapatma düğümü olması gerektiği anlamına da geliyor mu?"} Evet veya "özel statik sınıf düğümü " aslında dış nesneyi göndermeniz gerekmiyorsa daha uygun olabilir düğümün içinden. –
Radiodef