java - Filling a generic List with objects of a subclass of an abstract class -


let's have abstract class called figure , static method addfigure inside. addfigure should fill existing list objects of user-specified type.

public abstract class abstractfigure {      public static <t extends abstractfigure> void addfigure(list<t> list, class<t> clazz, int n)     {            (int = 0; < n; i++) {              try {                  t obj = clazz.newinstance();                 list.add(obj);              } catch (instantiationexception ex) {                 ex.printstacktrace();             } catch (illegalaccessexception ex) {                 ex.printstacktrace();             }         }     } } 

then have subclass, square.

public class square extends abstractfigure {  } 

the invocation follows:

public class genericsproblem{      public static void main(string[] args) {          arraylist<square> arraylistsquare = new arraylist<>();          abstractfigure.addfigure(arraylistsquare, square.class, 12);     } } 

the code works correctly , list filled squares, assume.

now, i'd re-make abstractfigure instead of working on existing list, it'll create , return one, in:

public abstract class abstractfigure {      public static <t extends abstractfigure> list<t> addfigure(class<t> clazz, int n)     {         list<t> genlist = new arraylist<>();          (int = 0; < n; i++) {              try {                  t obj = clazz.newinstance();                 genlist.add(obj);              } catch (instantiationexception ex) {                 ex.printstacktrace();             } catch (illegalaccessexception ex) {                 ex.printstacktrace();             }         }         return genlist;     } } 

is possible , if so, how invoke it?

yes, possible. need assign return value variable.

list<square> arraylistsquare = addfigure(square.class, 12); 

Comments

Popular posts from this blog

javascript - Clear button on addentry page doesn't work -

c# - Selenium Authentication Popup preventing driver close or quit -

tensorflow when input_data MNIST_data , zlib.error: Error -3 while decompressing: invalid block type -