[Ljava.lang.Object;不能强制转换为[Ljava.lang.String;
以下代码(在netbeans中运行)在最后一行中总是给我一个ClassCastException:[Ljava.lang.Object;不能强制转换为[Ljava.lang.String;,java,list,netbeans,classcastexception,toarray,Java,List,Netbeans,Classcastexception,Toarray,以下代码(在netbeans中运行)在最后一行中总是给我一个ClassCastException: private void GetModules() throws SQLException { stm = conn.prepareStatement("SELECT * FROM module"); Rs = stm.executeQuery(); Lliste.clear(); modules.clear(); while (Rs.next()) {
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());
}
我也试图不投,但它给了我一个错误。
有人能帮帮我吗?我真的很困惑!使用重载方法指定数组的返回类型:
public <T> T[] toArray(T[] a)
与问题无关,但您可能不应该从EDT.idk运行这段代码。为什么被否决,回复似乎正确,我只想补充一点,您应该使用空数组作为初始化参数:
list.toArray(新字符串[0]);
查看更多信息:
public <T> T[] toArray(T[] a)
liste.setListData(modules.toArray(new String[modules.size()]);