我使用Java。獲取Java的列表迭代器以返回除Object以外的東西
我已經有一個名爲「Subject」的自定義對象的類。
我有另一個只包含主題對象的鏈接列表的類。 (稱爲subjectsList)
我在subjectsList類中編寫了其中一種方法(稱爲「getSubject()」),用於在鏈接列表中的特定索引處返回Subject對象。爲此,我使用了一個ListIterator。我將在LinkedList中的給定索引處創建一個ListIterator並使用.next()方法。
但是,ListIterator中的.next()方法僅返回一個java.lang.Object,即使我希望它返回一個Subject對象。
如何讓ListIterator.next()返回一個Subject對象?
我試過向某個主題向下轉發,但這似乎失敗了,而且我在某處讀到了無法向下轉換不相關的對象。
這是我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();
}
}
的方法,問題是 「getSubject()」 方法。
在java中它是開始一個類名的約定大寫字母。這也使得其他人更容易閱讀你的代碼。 – extraneon 2010-08-28 08:16:46
謝謝你指出。 – Joshua 2010-08-28 08:33:35
爲什麼你實際上需要'ListIterator'? 「List.get(index)'和'List.remove(index)'有什麼問題? – whiskeysierra 2010-08-28 10:18:38