Off-topic: Java Reflection/Generics/Collections question

Frank Staals frankstaals at
Fri Dec 26 19:47:11 UTC 2008

Vladimir Tsvetkov wrote:
> What you try to do is not a valid operation in type-safe language as 
> Java.
> You can't convert Coll to Coll<ItemType>, 
> but you can cast Coll<?> to Coll<Whatever>.
> Don't know if this is OK with the problem you're trying to solve
> Merry Christmas!
> On Fri, Dec 26, 2008 at 4:20 PM, Frank Staals <frankstaals at 
> <mailto:frankstaals at>> wrote:
>     Not realy a FreeBSD-specific question but I was not sure where I
>     could find what I was looking for elseware (Googling did not
>     manage to dig up much info):
>     The problem:
>     I want to set the type of objects some Collection object holds on
>     runtime. In other wors I have an object C with: C extends
>     AbstractCollection, I have the Class object T specifying what type
>     of objects C should hold and I have a method M which takes a C<T>
>     as an argument. I made a generic version of C (without the type)
>     and now I have to set it so it can only carry objects of type T.
>     Does anyone know how to do this ?
>     Information in programming style:
>     C extends AbstractCollection myCollection;
>     Class itemType;
>     public void myMethod(C<itemType> myCollectionArgument)
>     How do I convert myCollection from being a C to a C<itemType>  on
>     runtime so I can call myMethod(myCollection) ?
>     I hope the explanation of my problem makes sense and someone can
>     help me.
>     Regards,
>     -- 
>     - Frank
>     _______________________________________________
>     freebsd-questions at
>     <mailto:freebsd-questions at> mailing list
>     To unsubscribe, send any mail to
>     "freebsd-questions-unsubscribe at
>     <mailto:freebsd-questions-unsubscribe at>"
Whell just after I posted my mail to this list I realized that I may 
have fogotten to mention something:

I want to do the 'conversion' because the myCollection Collection is 
still empty. So in other words I want to create a new collection and 
fill it. However I do not know the type
of the items I want to put in beforehand so it has to occur dynamically. 
So an equivalent question may be: How do I create a new  'C extends 
AbstractCollection<itemType>' using reflection ?


- Frank

More information about the freebsd-questions mailing list