Hello Tom
but you can use the following workaround:
@SuppressWarnings("unchecked")
E[] array = (E[])new Object[10];
Consider this client code:
JList<String> list = ...;
String[] strs = list.getSelectedValues();
In that code you have a ClassCastException from Object[] to String[].
Unfortunately you can *not*, for obscure language reasons, even declare
JList<E>.getSelectedValues as:
public <T super E> T[] getSelectedValues()
So, I think if you want the method genericisted, it needs to be
deprecated (or as near as we are allowed) and replaced. Although for my
money, you're always better off going for a model and leaving the actual
JComponent well alone.
I must agree here
The only robust solution would be to use a Class instance as a
constructor to create the array,
e.g. as EventListenerList.getListeners(Class<T> t) does
however it will require huge API change so we'd better leave it as is
Thanks
alexp
Tom Hawtin