22/11/10 23:33
paoloricciuti
Postato originariamente da killer:
ok ...pero ad esempio se come dici tu ..suppondendo di creare una classe
public class Entry<Key,Value> {
public Entry(){
}
}
nel costruttore cosa dovrei passare ? mmm forse non mi e chiaro ancora.. potresti farmi n'esempio concreto ?
tipo ho un ArrayList<Integer> array=new .......; oppure un ArrayList<MyClass> array1= new .......
per inserire gli elementi con array.add()<--------//ho notato che specificando l'array con minore e maggiore in base alle mie esigenze, il metodo add fa in modo di aggiungermi solo elementi di quella classe specificata non accettando altri tipi..ma come fa a fare tutto questo ? hanno dichiarato il metodo add nello stesso modo di come e stata dichiarata la classe ? ossia tipo public void add<T> etc... !?! questo non lo capisco affatto .. se potresti essere piu chiaro a riguardo ti ringrazierei molto..
ok ...pero ad esempio se come dici tu ..suppondendo di creare una classe
public class Entry<Key,Value> {
public Entry(){
}
}
nel costruttore cosa dovrei passare ? mmm forse non mi e chiaro ancora.. potresti farmi n'esempio concreto ?
tipo ho un ArrayList<Integer> array=new .......; oppure un ArrayList<MyClass> array1= new .......
per inserire gli elementi con array.add()<--------//ho notato che specificando l'array con minore e maggiore in base alle mie esigenze, il metodo add fa in modo di aggiungermi solo elementi di quella classe specificata non accettando altri tipi..ma come fa a fare tutto questo ? hanno dichiarato il metodo add nello stesso modo di come e stata dichiarata la classe ? ossia tipo public void add<T> etc... !?! questo non lo capisco affatto .. se potresti essere piu chiaro a riguardo ti ringrazierei molto..
Quando inizializzi una nuova istanza di una classe con generics non hai altro che da fare che ArrayList<Integer> a=new ArrayList<Integer>();
Per quanto riguarda il metodo add, la classe ArrayList è fatta più o meno così:
public class ArrayList<T>{ public void add(T element){ } public T get(int i){ } }
Come puoi vedere la classe usa T come una qualsiasi classe, dunque se ustanzierai una arraylist di Integer accetterà solo Integer e ritornerà solo Integer.
Ultima modifica effettuata da paoloricciuti 22/11/10 23:34
aaa