我使用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