Jump to content

Talk:Generics in Java

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Rheaghen (talk | contribs) at 22:20, 15 August 2007. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Reflection example not correct

I removed the following text, as it isn't correct:

It is possible to work around this limitation to some extent by using Java's reflection mechanisms. If an instance of class T is available, one can obtain from that object the Class object corresponding to T and use java.lang.reflect.Array.newInstance to create the array.

Let's say I have toArray(List<T> list) with at least one element. I call this using a List&ltNumber&gt containing Integers and Floats. Array.newInstance() using my first element of my list (which an instance of class Number) I end up with an array of type Integer[]. When I try to add a Float to the array, my program will fail with an error.

Now, it is possible if I pass in a Class<T> as in toArray(List<T> list, Class<T> clazz). Calling Array.newInstance(clazz, list.length()) will work just fine. However, I don't think it's worth mentioning this in the actual article. —Matthew0028 07:50, 11 December 2006 (UTC)[reply]

Anti-Java bias

This article only tells what the problems are with Java generics. It doesn't even tell you how to use any of the generic features, like the For-next loop or autoboxing. —The preceding unsigned comment was added by Ed Poor (talkcontribs) 22:30, 7 February 2007 (UTC).[reply]

Indeed. It doesn't even define Generics. The first sentence talks about when they were added to the language, and the second goes right into comparison with C++. This article needs work. --King Mir 01:52, 13 February 2007 (UTC)[reply]
This article used to be part of the generic programming page (but you know that already), which provided a little more context on the subject. I agree it should at least mention how it can help with type safety (even if only to a degree) and readability (same footnote), and can prevent the need for casts. (Note that foreach and autoboxing don't really require generics, they were in the C# language before it introduced generics.) Perhaps some examples that show the good points would be nice too. - Chip Zero 15:38, 13 February 2007 (UTC)[reply]

Anti-Java bias Updated

Removed the Anti-Java Content, Added viable examples, Corrected Incorrect Example.

This is not a facility to compare Java to other languages; If comparisons is useful, they has every reason to be here.

Please take the time to remove negative/spiteful content when ever possible.

Thank you =)