DefaultListModel<String> strings = new DefaultListModel<String>();
DefaultListModel<Integer> integers = new DefaultListModel<Integer>();
private <T> void sortList(DefaultListModel<T> defaultListModel)
{
T objects[] = (T[])defaultListModel.toArray();
defaultListModel.clear();
Arrays.sort(objects);
for (T object: objects)
{
defaultListModel.addElement(object);
}
}
如何在不获取未经检查的强制警告且不使用@suppress的情况下编写上述内容?
答案 0 :(得分:0)
你没有做任何事情。未经检查的强制转换警告的原因是因为DefaultListModel toArray()
方法不是通用的。它返回一个Object数组,当你输入强制转换为泛型类数组T[]
时,编译器会发出警告。您可以通过将以下行放在方法sortList上方来避免警告: -
@SuppressWarnings("unchecked")
private <T> void sortList(DefaultListModel<T> defaultListModel)
{
.....
}