我有一些問題抓住了一些東西 - 我可能會做這個完全錯誤的。擴展ArrayList和創建新的方法
我想創建延伸的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);
}
}
真棒。這是恰當的語法,還是我試圖做別的?非常感謝!快速回復。 – Cody
這可能是您的方案的正確語法。更新了答案以解釋原因。 – aioobe
謝謝!這解釋得非常好。 – Cody