Tengo un pequeño problema para entender algo, podría estar yendo por completo mal.Extendiendo ArrayList y Creando nuevos métodos
Estoy tratando de crear una clase que se extiende ArrayList, pero tiene varios métodos que aumentan la funcionalidad (por lo menos para el programa que estoy desarrollando.)
Uno de los métodos es un findById (int id), el cual busca en cada objeto ArrayList una determinada coincidencia de id. Hasta ahora está funcionando, pero no me deja hacer for (Item i : this) { i.getId(); }
No entiendo por qué?
código completo:
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);
}
}
impresionante. ¿Es solo la sintaxis adecuada, o estaba tratando de hacer otra cosa? Muchas gracias! Respuesta rápida. – Cody
Esa es probablemente la sintaxis adecuada para su escenario. Se actualizó la respuesta para explicar por qué. – aioobe
¡Gracias! Eso lo explica muy bien. – Cody