我有些困惑 - 我可能完全错了。我正在尝试创建一个扩展ArrayList的类,该类具有几个增加功能的方法(至少对于我正在开发的程序而言)。其中之一是findById(int id),它在每个ArrayList对象中搜索特定的id匹配项。到目前为止,它正在工作,但它不允许我执行
for (Item i:this) {i.getId();}
。我不明白为什么?完整代码:public class CustomArrayList<Item> extends ArrayList<Item> {
// declare singleton instance
protected static CustomArrayList instance;
// private constructor
private CustomArrayList(){
// do nothing
}
// get instance of class - singleton
public static CustomArrayList getInstance(){
if (instance == null){
instance = new CustomArrayList();
}
return instance;
}
public Item findById(int id){
Item item = null;
for (Item i : this) {
if (i.getId() == id) {
// something
}
}
return item;
}
public void printList(){
String print = "";
for (Item i : this) {
print += i.toString() + "\n";
}
System.out.println(print);
}
}
public class ItemArrayList<T extends Item> extends ArrayList<T> { ... }
。 - Dilum Ranatunga