У меня возникли некоторые проблемы с пониманием чего-либо - возможно, я поступаю по этому поводу совершенно неправильно.
Я пытаюсь создать класс, который расширяет ArrayList, но имеет несколько методов, которые увеличивают функциональность (вминимум для программы, которую я разрабатываю.)
Одним из методов является findById (int id), который ищет в каждом объекте ArrayList конкретное совпадение идентификатора.Пока это работает, но не позволяет мне делать 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);
}
}