Ich verwende Java zurück.Holen Sie Java-Listen-Iterator, um etwas anderes als Objekt
Ich habe bereits eine Klasse für ein benutzerdefiniertes Objekt namens "Betreff".
Ich habe eine andere Klasse, die nur eine verknüpfte Liste von Subject-Objekten enthält. (genannt subjectsList)
Ich schrieb eine der Methoden ("getSubject()" genannt) in der subjectsList-Klasse, die das Subject-Objekt an einen bestimmten Index in der Linked List zurückgeben soll. Um dies zu tun, habe ich einen ListIterator verwendet. Ich würde einen ListIterator bei einem bestimmten Index in der LinkedList erstellen und die .next() -Methode verwenden.
Die .next() - Methode in einem ListIterator gibt jedoch nur ein java.lang.Object zurück, obwohl ich ein Subject-Objekt zurückgeben möchte.
Wie bekomme ich ListIterator.next(), um ein Subject-Objekt zurückzugeben?
Ich habe versucht Downcasting zu einem Thema, aber das scheint zu scheitern, und ich habe irgendwo gelesen, dass Sie nicht zusammenhängende Objekte nicht abwerten können.
Das ist meine subjectsList Klasse:
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();
}
}
Das betreffende Verfahren ist die "getSubject()" Methode.
in Java ändern sie die Konvention ist Klassennamen mit einem beginnen Großbuchstabe. Das erleichtert es anderen Benutzern, Ihren Code zu lesen. – extraneon
Vielen Dank, dass Sie darauf hingewiesen haben. – Joshua
Warum brauchen Sie eigentlich diesen 'ListIterator'? Was ist mit 'List.get (index)' und 'List.remove (index)' falsch? – whiskeysierra