Uso Java.Ottenere l'iteratore di elenco Java per restituire qualcosa di diverso dall'oggetto
Ho già una classe per un oggetto personalizzato chiamato "Oggetto".
Ho un'altra classe che contiene solo un elenco collegato di oggetti Oggetto. (chiamato topicsList)
Ho scritto uno dei metodi (chiamato "getSubject()") nella classe subjectList che ha lo scopo di restituire l'oggetto Subject a un indice specifico nell'elenco collegato. Per fare questo, ho usato un ListIterator. Vorrei creare un ListIterator in un determinato indice in LinkedList e utilizzare il metodo .next().
Tuttavia, il metodo .next() in un ListIterator restituisce solo un java.lang.Object, anche se desidero che restituisca un oggetto Subject.
Come si ottiene ListIterator.next() per restituire un oggetto Subject?
Ho provato downcasting a un soggetto, ma questo sembra fallire, e ho letto da qualche parte che non è possibile downcast oggetti non correlati.
Questa è la mia classe subjectsList:
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();
}
}
Il metodo in questione è il metodo "getSubject()".
in Java è la convenzione per iniziare nomi delle classi con un lettera maiuscola. Ciò rende anche più facile per le altre persone leggere il tuo codice. – extraneon
Grazie per averlo indicato. – Joshua
Perché in realtà hai bisogno di 'ListIterator'? Cosa c'è di sbagliato in 'List.get (index)' e 'List.remove (index)'? – whiskeysierra