Off-topic: Java Reflection/Generics/Collections question
Frank Staals
frankstaals at gmx.net
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 gmx.net
> <mailto:frankstaals at gmx.net>> 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 freebsd.org
> <mailto:freebsd-questions at freebsd.org> mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe at freebsd.org
> <mailto:freebsd-questions-unsubscribe at freebsd.org>"
>
>
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