java - How to get the type for a List<aType>? -


i have defined object takes type parameter in constructor :

public dynparameterdaoimpl(class<t1> type) {         super();         ...     } 

the instanciation works doing

dynparameterdaoimpl myvar = new dynparameterdaoimpl(atype.class); 

is there way type being list. following not work..

dynparameterdaoimpl myvar = new dynparameterdaoimpl(list<atype>.class); 

no.

list<atype> type not class because type erasure ensures list<x> represented same class list<y> reference types x , y.

for example,

list<string> strings = new arraylist<string>();  // legal boolean b = strings instanceof list<number>;  // compiler rejects 

the compiler rejects instanceof check because there isn't enough information available virtual machine distinguish between list<string> , list<number>.

if possible class value non-class type list<string>, reflective equivalent

class<? extends list<string>> stringlistclass = strings.getclass();  // illegal class<? extends list<number>> numberlistclass = list<number>.class;  // illegal boolean b = numberlistclass.isassignablefrom(stringlistclass); 

would pass silent violation of type-safety.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -