Pogledajte određenu poruku
Staro 15. 10. 2011.   #12
degojs
I'm a PC too.
Wrote a book
 
Avatar degojs
 
Datum učlanjenja: 05.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
degojs će postati "faca" uskorodegojs će postati "faca" uskoro
Default

Ja ne znam moze li jednostavnije, ovako jeste malo zamrseno jer ne znam bolji nacin da uradis jednostavno T x = new T() kao u C#-u.

Kôd:
public class Bazna {
    
    private String _name;
    public void setName(String name) { _name = name; }
    public String getName() { return _name; }
    
    public<T extends Bazna> List<T> getList(Class<T> type) throws InstantiationException, IllegalAccessException 
    {
      List<T> lista = new ArrayList<T>();
      //T prvi = new T(); // mfff!!! oh lord, there ain't no heaven on the county road :(
      T prvi = type.newInstance(); prvi.setName( "Prva" );
      T drugi = type.newInstance(); drugi.setName( "Druga" );
      lista.add(prvi);
      lista.add(drugi);
      return lista;
    }
    
}
Kôd:
public class Izvedena extends Bazna {}
I onda:
Kôd:
Izvedena izv = new Izvedena();
try {
    List<Izvedena> rezultat = izv.getList(Izvedena.class);
    for( Izvedena i : rezultat )
    {
        System.out.println( "Name=" + i.getName() );
    }
} catch (Exception e){
}
Sto daje:
Name=Prva
Name=Druga
__________________
Commercial-Free !!!

Poslednja izmena od degojs : 15. 10. 2011. u 01:40.
degojs je offline   Odgovorite uz citat
"Hvala" degojs za poruku: