L'extension de liste de tableaux et de Créer de nouvelles méthodes

Je vais avoir un peu de problème pour saisir quelque chose - j'ai peut-être aller sur ce complètement faux.

Je suis en train de créer une classe qui extends ArrayList mais a plusieurs méthodes qui augmentent la fonctionnalité (au moins pour le programme, je suis en train d'élaborer.)

L'une des méthodes est un findById(int id), qui recherche chaque objet ArrayList pour un id particulier de match. Jusqu'à présent, ça fonctionne, mais il ne me laisse pas faire for (Item i : this) { i.getId(); }

Je ne comprends pas pourquoi?

Code complet:

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);
    }
}

OriginalL'auteur Cody | 2011-06-29