以下代码(在netbeans中运行)总是在最后一行给出一个ClassCastException:
private void GetModules() throws SQLException {
stm = conn.prepareStatement("SELECT * FROM module");
Rs = stm.executeQuery();
Lliste.clear();
modules.clear();
while (Rs.next()) {
String[] str_l = new String[5];
for (int i = 0; i < 5; i++)
str_l[i] = Rs.getString(i + 1);
Lliste.add(str_l);
modules.add(str_l[1]);
}
stm.close();
Rs.close();
liste.setListData((String[]) modules.toArray());
}
当我运行代码时,我收到以下错误:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
我也尝试过不投,但它给了我一个错误。 有人可以帮帮我吗?我真的很困惑!
答案 0 :(得分:-2)
使用指定数组返回类型的重载List.toArray()方法:
public <T> T[] toArray(T[] a)
这样:
liste.setListData(modules.toArray(new String[modules.size()]);