'dan başka bir şey döndürmek için Java'nın liste yineleyicisini alın Java kullanıyorum.Nesne
"Subject" adlı özel bir nesne için zaten bir sınıfım var.
Yalnızca bir Bağlantılı Konu Nesnesi listesi içeren başka bir sınıfa sahibim. (deneklerList)
Konu Listesinde Bağlantılılar Listesi'nde belirli bir dizine döndürülmesi gereken konulardaki ("getSubject()") yöntemlerden birini yazdım. Bunu yapmak için bir ListIterator kullandım. LinkedList'te belirli bir dizinde bir ListIterator oluşturur ve .next() yöntemini kullanırdım. Ancak, bir ListIterator'daki .next() yöntemi yalnızca bir Subject nesnesini döndürmek istesem bile bir java.lang.Object döndürür.
Konu Nesnesini döndürmek için ListIterator.next() yöntemini nasıl alabilirim? Bir Konu için downcasting denedim
ama bu başarısız görünüyor ve bir yere mahzun değil ilgisiz nesneleri can okudum.
Bu benim subjectsList sınıftır: Söz konusu
import java.util.*;
public class subjectsList
{
//my LinkedList of Subject objects and a ListIterator
private LinkedList<Subject> l;
private ListIterator itr;
//constructor that simply creates a new empty LinkedList
public subjectsList()
{
l = new LinkedList();
}
//Method to return the Subject object at a specific index in the LinkedList
public Subject getSubject(byte index)
{
itr = l.listIterator(index);
return itr.next();
}
//Method to add a new Subject object to the LinkedList
public void addSubject(String nameInput, byte levelInput)
{
l.addLast(new Subject(nameInput, levelInput));
}
//Method to remove the Subject object at a specific index in the LinkedList
public void removeSubject(byte index)
{
itr = l.listIterator(index);
itr.next();
itr.remove();
}
}
yöntemi "getSubject()" yöntemidir. Sadece saklar liste olarak dönerken
l = new LinkedList<Subject>();
Ayrıca Konu onu at olabilir: yapıcı şöyle
private ListIterator<Subject> itr;
Ayrıca LinkedList nesnesi oluşturmak:
içine senin
LinkedList
örneğinin değiştirmek düşündürmektedir büyük harf. Bu da diğer kişilerin kodunuzu okumasını kolaylaştırır. – extraneonBunu işaretlediğiniz için teşekkürler. – Joshua
Neden bu 'ListIterator''a ihtiyacınız var? List.get (index) 've' List.remove (index) 'ile ilgili sorun nedir? – whiskeysierra